Rumah > pembangunan bahagian belakang > masalah PHP > Tidak bolehkah pembolehubah digunakan untuk subskrip tatasusunan php?

Tidak bolehkah pembolehubah digunakan untuk subskrip tatasusunan php?

PHPz
Lepaskan: 2023-04-12 11:29:07
asal
807 orang telah melayarinya

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';
Salin selepas log masuk

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';
Salin selepas log masuk

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;
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan