PHP menyediakan beberapa kaedah untuk menginterpolasi pembolehubah ke dalam rentetan petikan dua, termasuk elemen daripada tatasusunan bersekutu. Walau bagaimanapun, dalam kes tertentu, tingkah laku yang tidak dijangka boleh timbul.
Masalahnya:
Apabila menginterpolasi elemen daripada tatasusunan bersekutu yang diindeks oleh rentetan, gelagat berikut diperhatikan:
Penjelasan:
Barisan interpolasi terakhir berfungsi dengan betul disebabkan peraturan sintaks tertentu dalam PHP. Apabila rentetan petikan dua mengandungi nama pembolehubah yang tidak dilepaskan diikuti dengan kurungan penutup, PHP mentafsir nama pembolehubah sebagai kunci dalam konteks tatasusunan semasa. Dalam kes ini, $ha[key1] dianggap sebagai kunci untuk elemen tatasusunan dan nilainya diinterpolasi ke dalam rentetan.
Kepercayaan:
Ya, ciri ini dianggap boleh dipercayai. Ia membenarkan cara yang ringkas dan jelas untuk menginterpolasi elemen tatasusunan bersekutu ke dalam rentetan petikan dua, dengan syarat kunci tatasusunan ialah nama pembolehubah yang sah.
Perspektif Sejarah:
Sintaks yang tidak konsisten untuk menginterpolasi elemen tatasusunan bersekutu berkemungkinan hasil daripada sejarah evolusi PHP. Apabila bahasa berkembang, konvensyen berbeza telah diperkenalkan untuk interpolasi pembolehubah, yang membawa kepada situasi semasa.
Atas ialah kandungan terperinci Mengapa Interpolasi Tatasusunan Bersekutu dalam PHP Menghasilkan Keputusan yang Tidak Dijangka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!