將點分隔字串轉換為巢狀數組
給定一個表示嵌套數組結構的字串,例如「Main. Sub. SubOfSub”,以及對應的值,如“SuperData”,目標是將這些資料轉換為實際的巢狀數組。
要實現此轉換,這裡有一個詳細的解決方案:
$key = "Main.Sub.SubOfSub"; $target = array(); $value = "SuperData"; $path = explode('.', $key); // Split the string into an array of keys $root = &$target; // Reference to the main array while (count($path) > 1) { // Iterate through the path array $branch = array_shift($path); // Get the current branch if (!isset($root[$branch])) { $root[$branch] = array(); // Create the branch if it doesn't exist } $root = &$root[$branch]; // Update the reference to the current branch } $root[$path[0]] = $value; // Set the value at the end of the path
此程式碼根據字串中指定的路徑有效地建立一個巢狀數組。變數 $root 作為數組中目前嵌套層級的引用,確保在我們遍歷路徑時將值指派給正確的分支。
以上是如何將點分隔字串轉換為巢狀數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!