Menetapkan Data Tatasusunan Bersarang Menggunakan Laluan Rentetan
Dalam kes penggunaan ini, input rentetan bertujuan untuk menetapkan nilai tatasusunan bersarang. Contohnya:
"cars.honda.civic = On"
Rentetan ini sepatutnya menghasilkan:
$data'cars'['civic'] = 'On' ;
Walaupun menandakan input adalah mudah:
$token = explode("=",$input);
$value = trim($token[1]);
$path = trim($token[0]);
$exploded_path = explode(". ",$path);
Cabarannya terletak pada menetapkan tatasusunan tanpa menggunakan teknik berisiko seperti eval.
Penyelesaian
Penyelesaian melibatkan penggunaan operator rujukan (&) untuk mendapatkan tatasusunan sedia ada berturut-turut:
$temp = & $data;
foreach($meletup sebagai $kunci) {
$temp = & $temp[$key];
}
$temp = $value;
unset($temp);
Kaedah ini membolehkan anda menavigasi melalui tatasusunan bersarang tanpa pengekodan keras setiap peringkat .
Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Nilai Tatasusunan Bersarang Dengan Selamat Menggunakan Laluan Rentetan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!