Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menukar String dengan Struktur Array kepada Array dalam PHP?

Bagaimana untuk Menukar String dengan Struktur Array kepada Array dalam PHP?

Mary-Kate Olsen
Lepaskan: 2024-11-04 05:39:02
asal
700 orang telah melayarinya

How to Convert a String with Array Structure to an Array in PHP?

Cara Menukar Rentetan dengan Struktur Tatasusunan kepada Tatasusunan

Dalam pengaturcaraan, boleh berguna untuk menukar rentetan yang mewakili struktur hierarki kepada tatasusunan. Ini boleh membantu terutamanya apabila bekerja dengan data yang mempunyai sifat bersarang.

Pertimbangkan contoh berikut:

Main.Sub.SubOfSub
Salin selepas log masuk

Rentetan ini mewakili struktur bersarang dengan tiga peringkat:

  • Utama
  • Sub
  • SubOfSub

Andaikan kita juga mempunyai nilai data, seperti rentetan, yang ingin kita kaitkan dengan tahap terendah struktur ini:

SuperData
Salin selepas log masuk

Matlamat kami adalah untuk mengubah rentetan dan nilai data ini menjadi tatasusunan yang kelihatan seperti ini:

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

    )
)
Salin selepas log masuk

Tatasusunan ini mewakili struktur hierarki yang sama seperti rentetan asal , dengan nilai data "SuperData" diperuntukkan kepada sifat "SubOfSub".

Untuk melaksanakan penukaran ini, kita boleh menggunakan fungsi PHP seperti yang disediakan dalam respons:

<code class="php">function stringToArray($key, &$target, $value)
{
    $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

Fungsi ini mengambil tiga parameter:

  • $key: Rentetan yang mewakili struktur hierarki.
  • &$target: Tatasusunan kepada diubah.
  • $value: Nilai data yang akan dikaitkan dengan tahap terendah struktur.

Cara ia berfungsi:

  1. Fungsi membahagikan rentetan $key ke dalam tatasusunan $path menggunakan '.' watak sebagai pembatas. Tatasusunan ini mewakili tahap struktur hierarki yang berbeza.
  2. Ia memulakan rujukan $root kepada tatasusunan $target. Rujukan ini akan digunakan untuk melintasi tatasusunan dan mencipta elemen baharu seperti yang diperlukan.
  3. Ia memasuki gelung untuk melelaran melalui tatasusunan $path dan membina struktur hierarki dalam tatasusunan $target.
  4. Di dalam gelung, ia menyemak sama ada tahap semasa wujud dalam tatasusunan $root. Jika tidak, ia mencipta tatasusunan kosong baharu untuk tahap itu.
  5. Ia kemudian mengemas kini rujukan $root untuk menunjuk ke tahap semasa.
  6. Sebaik sahaja ia mencapai tahap terakhir, yang biasanya merupakan satu sifat, ia memberikan nilai $ kepada harta itu.

Dengan memanggil fungsi ini dengan input yang sesuai, anda boleh menukar rentetan dengan struktur tatasusunan kepada tatasusunan sebenar dalam PHP dengan mudah. Teknik ini amat berguna apabila menghuraikan data hierarki kompleks ke dalam format berstruktur.

Atas ialah kandungan terperinci Bagaimana untuk Menukar String dengan Struktur Array kepada Array 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