首頁  >  文章  >  後端開發  >  如何合併具有相同鍵的數組並保留所有資料?

如何合併具有相同鍵的數組並保留所有資料?

DDD
DDD原創
2024-11-03 12:15:29609瀏覽

How to Merge Arrays with Identical Keys and Preserve All Data?

合併具有相同鍵的陣列:克服array_merge 的限制

在軟體開發中,合併具有相同鍵的陣列可能是一項常見任務。然而,array_merge 函數經常無法合併具有相同鍵的所有元素,從而導致資料遺失。

考慮以下範例:

<code class="php">$A = array('a' => 1, 'b' => 2, 'c' => 3);
$B = array('c' => 4, 'd' => 5);

array_merge($A, $B);

// Result
 [a] => 1 [b] => 2 [c] => 4 [d] => 5</code>

如圖所示,'c 的原始值'=>合併後3遺失。為了解決這個問題,需要另一種方法。

解決方案:array_merge_recursive

解決方案在於使用 array_merge_recursive 函數。與 array_merge 不同,array_merge_recursive 遞歸地合併輸入陣列的鍵和值,保留所有資料。

以下程式碼示範了這種方法:

<code class="php">$A = array('a' => 1, 'b' => 2, 'c' => 3);
$B = array('c' => 4, 'd' => 5);

array_merge_recursive($A, $B);

// Result
 [a] => 1 [b] => 2 [c] => [0 => 3, 1 => 4] [d] => 5</code>

如您所見,與'c' 被保留。然而,由於合併後的數組中只能有一個“c”鍵,因此結果成為數組中的數組。

以上是如何合併具有相同鍵的數組並保留所有資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn