Dalam PHP, subskrip tatasusunan biasa mestilah rentetan atau nombor yang ditakrifkan tetap dan tidak boleh menjadi pembolehubah.
Sebagai contoh, kod berikut tidak betul:
$index = 'name'; $array = []; $array[$index] = 'John';
Dalam contoh di atas, ralat "Indeks tidak ditentukan" akan digesa kerana indeks yang dinamakan tidak wujud dalam tatasusunan $array
Subskrip $index
.
Cara untuk menyelesaikan masalah ini adalah dengan menggunakan pembolehubah sebagai nilai subskrip melalui {}
. Contohnya:
$index = 'name'; $array = []; $array[$index] = 'John'; $array2 = []; $array2["{$index}"] = 'John';
Kod di atas akan berfungsi dengan baik, kedua-duanya akan menggunakan 'John'
sebagai nilai subskrip $array
dalam tatasusunan $array2
dan "name"
.
Selain kaedah di atas, terdapat cara lain untuk menggunakan pembolehubah sebagai subskrip, iaitu menggunakan variable variable
, dengan menggunakan nama pembolehubah sebagai nilai pembolehubah lain dan menambah simbol $
sebelum nama pembolehubah. Contohnya:
$index = 'name'; $$index = 'John'; echo $name;
Dalam kod di atas, takrifan dan penggunaan pembolehubah dinamik dilaksanakan. $$index
boleh dilihat sebagai bentuk singkatan $name
, ia akan ditetapkan sebagai 'John'
dan echo $name
akan mengeluarkan 'John'
.
Walaupun variable variable
boleh menjadikan program lebih dinamik, ia juga boleh menyukarkan kod untuk difahami dan diselenggara, jadi ia harus digunakan dengan berhati-hati.
Ringkasnya, subskrip tatasusunan dalam PHP tidak boleh menggunakan pembolehubah dan pembolehubah boleh digunakan sebagai nilai subskrip melalui {}
atau variable variable
.
Atas ialah kandungan terperinci Tidak bolehkah pembolehubah digunakan untuk subskrip tatasusunan php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!