Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menukar Rentetan Notasi Titik PHP kepada Tatasusunan Berbilang Dimensi?

Bagaimanakah Saya Boleh Menukar Rentetan Notasi Titik PHP kepada Tatasusunan Berbilang Dimensi?

Linda Hamilton
Linda Hamiltonasal
2024-11-30 07:32:14111semak imbas

How Can I Convert PHP Dot Notation Strings into Multidimensional Arrays?

Menukar Notasi Titik kepada Tatasusunan Berbilang Dimensi dalam PHP

Dalam PHP, adalah mungkin untuk meniru struktur tatasusunan berbilang dimensi menggunakan tatatanda titik seperti "ini .itu.lain". Walau bagaimanapun, ini boleh menjadi menyusahkan untuk mengurus dan mengedit. Untuk menangani perkara ini, kaedah dicari untuk menukar tatatanda titik kepada tatasusunan berbilang dimensi.

Penyelesaian yang dicadangkan menggunakan fungsi berikut:

function assignArrayByPath(&$arr, $path, $value, $separator='.') {
    $keys = explode($separator, $path);

    foreach ($keys as $key) {
        $arr = &$arr[$key];
    }

    $arr = $value;
}

Fungsi ini berulang melalui kekunci yang dipisahkan oleh titik, mencipta sebarang kunci yang hilang di sepanjang jalan dan akhirnya memberikan nilai yang diingini.

Sebagai contoh, titik berikut tatatanda:

s1.t1.column.1 = size:33%

Boleh ditukar kepada tatasusunan berbilang dimensi seperti:

assignArrayByPath($source, 's1.t1.column.1', 'size:33%');

echo $source['s1']['t1']['column']['1']; // Output: size:33%

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Rentetan Notasi Titik PHP kepada Tatasusunan Berbilang Dimensi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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