在PHP 中不使用循環將字串拆分為多維數組
在PHP 中不依賴迭代結構將字串拆分為多維數組,可以採用數組函數的組合來實現所需的結果。以格式為「A,5|B,3|C,8」的字串為例。
利用 array_map 和explode,您可以有效率地完成此任務。例如,在PHP 5.3 及更高版本中,可以使用以下程式碼片段:
<code class="php">$str = "A,5|B,3|C,8"; $a = array_map( function ($substr) { return explode(',', $substr); }, explode('|', $str) ); var_dump($a);</code>
此程式碼片段首先使用Explode 函數將輸入字串拆分為子字串數組,該函數將字串分隔為管道字元。然後,使用 array_map 對每個子字串套用爆炸函數,進一步將其拆分為兩個元素的陣列:第一個元素包含字母,第二個元素包含數字。
結果是一個多維數組其中每個內部數組對應於輸入字串中的一對字母和數字:
array 0 => array 0 => string 'A' (length=1) 1 => string '5' (length=1) 1 => array 0 => string 'B' (length=1) 1 => string '3' (length=1) 2 => array 0 => string 'C' (length=1) 1 => string '8' (length=1)
雖然此解決方案消除了用戶代碼中的顯式循環,但值得注意的是,在內部,array_map 仍然使用循環遍歷輸入陣列。因此,所提供的程式碼中沒有循環並不意味著完全沒有循環。
以上是如何在 PHP 中將字串拆分為多維數組而不使用明確循環?的詳細內容。更多資訊請關注PHP中文網其他相關文章!