Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menukar Rentetan Dipisahkan Titik menjadi Tatasusunan Bersarang dalam PHP?

Bagaimana untuk Menukar Rentetan Dipisahkan Titik menjadi Tatasusunan Bersarang dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-31 03:03:301017semak imbas

How to Convert a Dot-Separated String into a Nested Array in PHP?

Menukar Rentetan dengan Struktur Tatasusunan menjadi Tatasusunan

Soalan ini memberikan cabaran: menukar rentetan dengan struktur tatasusunan kepada tatasusunan sebenar . Rentetan yang diberikan mengikut struktur dipisahkan titik, mewakili tatasusunan bersarang. Untuk mengubah rentetan ini, kita boleh menggunakan fungsi terbina dalam PHP dan penaakulan logik.

Mula-mula, pecahkan rentetan kepada tatasusunan kunci menggunakan explode(). Kemudian, ulangi kekunci ini dan bina struktur tatasusunan yang dikehendaki. Jika kunci tidak wujud dalam tahap semasa tatasusunan, ciptakannya.

Contoh kod:

<code class="php">$string = "Main.Sub.SubOfSub";
$data = "SuperData";
$array = [];
$path = explode('.', $string);

$root = &$array;
while (count($path) > 1) {
    $key = array_shift($path);
    if (!isset($root[$key])) $root[$key] = [];
    $root = &$root[$key];
}
$root[$path[0]] = $data;</code>

Kod ini dengan cekap membina struktur tatasusunan yang dikehendaki daripada rentetan yang disediakan, membenarkan anda untuk mengakses nilai bersarang secara berstruktur.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan Dipisahkan Titik menjadi Tatasusunan Bersarang dalam PHP?. 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