如何在PHP 中透過點語法創建多維數組
在PHP 中,轉換點語法(如“this.that.other” ) )轉換為多維數組對於組織資料來說可能是一項有用的任務。以下是完成此轉換的方法:
使用遞歸函數:
以下函數 allocateArrayByPath() 可以遞歸地導航點語法並建立多維數組:
function assignArrayByPath(&$arr, $path, $value, $separator='.') { $keys = explode($separator, $path); foreach ($keys as $key) { $arr = &$arr[$key]; } $arr = $value; }
怎麼樣運作原理:
函數有四個參數:
範例:
將點語法「s1.t1.column.1」轉換為多維數組,使用下列程式碼:
$source = []; assignArrayByPath($source, 's1.t1.column.1', 'size:33%'); echo $source['s1']['t1']['column']['1']; // Outputs: 'size:33%'
這個方法提供了一種靈活的遞歸方法,用於將複雜的點語法轉換為PHP 中的多維數組,確保即使不存在的鍵也會自動建立。它對於將嵌套資料結構解析為結構化數組格式特別有用。
以上是如何在 PHP 中將點語法字串遞歸轉換為多維數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!