Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana dengan Cekap Menukar Rentetan Sintaks Dot kepada Tatasusunan Berbilang Dimensi dalam PHP?
Soalan:
Bagaimanakah rentetan sintaks titik, seperti " this.that.other", ditukar dengan cekap kepada tatasusunan berbilang dimensi dalam PHP?
Jawapan:
Penyelesaian yang sangat berkesan ialah menggunakan fungsi rekursif seperti di bawah:
function assignArrayByPath(&$arr, $path, $value, $separator='.') { $keys = explode($separator, $path); foreach ($keys as $key) { $arr = &$arr[$key]; } $arr = $value; }
Fungsi ini merentasi secara berulang tatasusunan, menggunakan '.' sebagai pemisah, mencipta sebarang kekunci yang hilang di sepanjang jalan, sehingga ia mencapai sifat yang diingini dan menetapkan nilainya.
Sebagai contoh, dengan rentetan sampel berikut: "s1.t1.column.1 = saiz:33 %", fungsi itu akan menghasilkan struktur tatasusunan bersamaan dengan:
$source = []; assignArrayByPath($source, 's1.t1.column.1', 'size:33%'); print_r($source); // Outputs: ['s1' => ['t1' => ['column' => ['1' => 'size:33%']]]]
Atas ialah kandungan terperinci Bagaimana dengan Cekap Menukar Rentetan Sintaks Dot kepada Tatasusunan Berbilang Dimensi dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!