在程式設計中,將表示層次結構的字串轉換為陣列非常有用。這在處理具有嵌套屬性的資料時特別有用。
考慮以下範例:
Main.Sub.SubOfSub
此字串表示具有三個層級的巢狀結構:
假設我們還有一個資料值,例如字串,我們希望將其與最低層級關聯這個結構:
SuperData
我們的目標是將這個字串和資料值轉換成一個如下所示的陣列:
Array ( [Main] => Array ( [Sub] => Array ( [SubOfSub] => SuperData ) ) )
這個陣列表示與原始字串相同的層次結構,將資料值「SuperData」指派給「SubOfSub」屬性。
要執行此轉換,我們可以使用PHP 函數,如響應中提供的函數:
<code class="php">function stringToArray($key, &$target, $value) { $path = explode('.', $key); $root = &$target; while(count($path) > 1) { $branch = array_shift($path); if (!isset($root[$branch])) { $root[$branch] = array(); } $root = &$root[$branch]; } $root[$path[0]] = $value; }</code>
函數採用三個參數:
工作原理:
透過使用適當的輸入呼叫此函數,您可以輕鬆地將具有陣列結構的字串轉換為 PHP 中的實際陣列。將複雜的分層資料解析為結構化格式時,此技術特別有用。
以上是PHP中如何將陣列結構的字串轉換為陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!