Jonathan benar. Array PHP bertindak sebagai kunci pemetaan tabel peta untuk nilai. dalam beberapa kasus Anda bisa mendapatkan indeks jika array Anda didefinisikan, seperti
$var = array(2,5);
for ($i = 0; $i < count($var); $i++) {
echo $var[$i]."\n";
}
output Anda akan menjadi
2
5
dalam hal ini setiap elemen dalam array memiliki indeks yang dapat diketahui, tetapi jika Anda kemudian melakukan sesuatu seperti berikut ini
$var = array_push($var,10);
for ($i = 0; $i < count($var); $i++) {
echo $var[$i]."\n";
}
Anda tidak mendapatkan hasil. Ini terjadi karena array dalam PHP bukan struktur linier seperti pada kebanyakan bahasa. Mereka lebih seperti tabel hash yang mungkin atau mungkin tidak memiliki kunci untuk semua nilai yang disimpan. Karenanya foreach tidak menggunakan indeks untuk menjelajahinya karena mereka hanya memiliki indeks jika array didefinisikan. Jika Anda perlu memiliki indeks, pastikan array Anda sepenuhnya ditentukan sebelum merangkak di atasnya, dan gunakan untuk loop.