首頁  >  文章  >  後端開發  >  如何在 PHP 中將點分隔字串轉換為巢狀數組?

如何在 PHP 中將點分隔字串轉換為巢狀數組?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-31 03:03:30913瀏覽

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

將具有陣列結構的字串轉換為陣列

這個問題提出了一個挑戰:將具有陣列結構的字串轉換為實際數組。給定的字串遵循點分隔的結構,表示嵌套數組。為了轉換這個字串,我們可以利用PHP的內建函數和邏輯推理。

首先,使用explode()將字串分解為一個鍵數組。然後,迭代這些鍵並建構所需的陣列結構。如果數組的目前層級中不存在鍵,請建立它。

範例程式碼:

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

此程式碼有效地從提供的字串建構所需的陣列結構,讓您以結構化方式存取巢狀值。

以上是如何在 PHP 中將點分隔字串轉換為巢狀數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn