PHP 數組合併:將陣列與匹配的鍵組合
本問題探討如何合併兩個共享相同鍵的 PHP 數組。讓我們深入探討問題和解決方案。
問題:
考慮以下兩個陣列:
目標是合併透過聚合每個匹配鍵對應的值來聚合這些陣列。
使用 array_map 的解決方案:
雖然 array_merge_recursive 可以遞歸地合併數組,但它需要具有匹配鍵值對的數組。使用array_map 的自訂解決方案可以實現所需的結果:
$results = array(); array_map(function($a, $b) use (&$results) { $key = current(array_keys($a)); $a[$key] = array('ip' => $a[$key]); $key = current(array_keys($b)); $b[$key] = array('name' => $b[$key]); $results += array_merge_recursive($a, $b); }, $array1, $array2);
解釋:
輸出是一個數組,其中鍵表示攝影機編號,值作為子數組包含'ip' 和 'name' 屬性。
透過利用 array_map 和自訂鍵操作,該解決方案有效地將陣列與匹配鍵合併,同時仍保留鍵值結構。
以上是如何合併具有匹配鍵的 PHP 數組並建立子數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!