Saya sedang belajar array di PHP. Setiap kali saya mencoba mencetak array meggunakan echo
, saya mendapatkan pesan error "Array to string conversion".
Berikut potongan kode yang menyebabkan masalah:
$persons = ['budi', 'ucup'];
echo "hello " . $persons;
// PHP Warning: Array to string conversion in /belajar.php on line 5
// hello Array
Juga, Output yang saya harapkan adalah hello budi, ucup
bukan hello Array
.
Untuk dapat mengakses elemen di dalam array, ada beberapa cara yang dapat dilakukan
Menggunakan indeks, indeks pada array dimulai dari 0
$persons = ['budi', 'ucup'];
echo "hello " . $persons[0]; // hello budi
echo "hello " . $persons[1]; // hello ucup
Menggunakan perulangan
$persons = ['budi', 'ucup'];
foreach($persons as $person) {
echo "hello " . $person;
}
// atau
for($i = 0; $i < count($persons); $i++) {
echo "hello " . $person;
}
Untuk output yang diinginkan seperti "hello budi, ucup" bisa menggunakan helper implode
$persons = ['budi', 'ucup'];
echo "hello " . implode(', ', $persons);
Sangat jelas, terimakasih 🙏
Pesan error "Array to string conversion" biasanya muncul ketika mencoba menggabungkan atau menggunakan operasi string pada konteks yang seharusnya berisi nilai tunggal, tetapi sebenarnya berisi array.
Pada potongan kode yang dibagikan, $persons
adalah array yang berisi daftar nama orang. Solusinya adalah mengonversi array tersebut menjadi string sebelum mencetak dengan echo
.
Bisa menggunakan fungsi implode()
untuk menggabungkan elemen array menjadi string:
$persons = ['budi', 'ucup'];
echo "hello " . implode(', ', $persons); // hello budi, ucup
Dengan menggunakan implode(', ', $persons)
, kita menggabungkan elemen-elemen array dengan pemisah koma dan spasi, sehingga menghasilkan string yang diharapan.
Kamu tau jawabannya?
Ayo bergabung bersama lebih dari 200.000 pengguna lainnya!