Bagaimanakah String dengan Struktur Tatasusunan Boleh Diubah menjadi Tatasusunan Sebenar?

Susan Sarandon
Lepaskan: 2024-10-30 05:32:28
asal
815 orang telah melayarinya

How Can a String with an Array Structure Be Transformed into an Actual Array?

Menukar Rentetan dengan Struktur Tatasusunan kepada Tatasusunan

Menukar rentetan dengan struktur tatasusunan seperti "Main.Sub.SubOfSub" kepada tatasusunan sebenar boleh dicapai menggunakan kod yang sesuai. Katakan anda mempunyai nilai rentetan ini:

Main.Sub.SubOfSub
Salin selepas log masuk

Dan item data yang sepadan:

SuperData
Salin selepas log masuk

Matlamatnya adalah untuk membina tatasusunan dengan struktur berikut:

Array
(
[Main] => Array
    (
        [Sub] => Array
            (
                [SubOfSub] => SuperData
            )

    )
)
Salin selepas log masuk

Untuk melakukan penukaran ini, pertimbangkan coretan kod berikut:

<code class="php">$path = explode('.', $key);
$root = &amp;$target;

while (count($path) > 1) {
    $branch = array_shift($path);
    if (!isset($root[$branch])) {
        $root[$branch] = array();
    }

    $root = &amp;$root[$branch];
}

$root[$path[0]] = $value;</code>
Salin selepas log masuk

Kod ini pada asasnya melaksanakan logik untuk mencipta struktur tatasusunan bersekutu berdasarkan laluan rentetan yang disediakan. Ia berulang melalui segmen laluan, mencipta tatasusunan bersarang seperti yang diperlukan dan memperuntukkan data yang disediakan kepada segmen akhir laluan.

Dengan menggunakan operator rujukan (&), kod tersebut mengubah suai tatasusunan sasaran asal secara langsung, memastikan tatasusunan yang terhasil mempunyai struktur yang diingini.

Atas ialah kandungan terperinci Bagaimanakah String dengan Struktur Tatasusunan Boleh Diubah menjadi Tatasusunan Sebenar?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!