Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana dengan Cekap Menukar Rentetan Sintaks Dot kepada Tatasusunan Berbilang Dimensi dalam PHP?

Bagaimana dengan Cekap Menukar Rentetan Sintaks Dot kepada Tatasusunan Berbilang Dimensi dalam PHP?

Mary-Kate Olsen
Lepaskan: 2024-12-01 16:01:11
asal
491 orang telah melayarinya

How to Efficiently Convert Dot Syntax Strings to Multidimensional Arrays in PHP?

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

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

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!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan