Rumah >pembangunan bahagian belakang >masalah PHP >Tidak bolehkah pembolehubah digunakan untuk subskrip tatasusunan php?
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!