合併陣列時保留現有的鍵值對
在程式設計中,會出現這樣的情況:您需要合併兩個陣列,同時確保鍵-兩個數組中的值對都被保留。當存在重複鍵時,這將成為一個挑戰。
讓我們考慮提供的範例:
<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>
如示範的,使用 array_merge 函數會導致 'c' => 遺失。 3個鍵值對。為了解決這個問題,我們需要採用不同的方法。
array_merge_recursive 函數是專門為這類場景設計的。與 array_merge 不同,它遞歸地合併數組,確保保留相同的鍵值對。產生的陣列將包含與重複鍵關聯的兩個值。
對於給出的範例,使用 array_merge_recursive 將產生:
<code class="php">array_merge_recursive($A, $B); // result [a] => 1 [b] => 2 [c] => [0 => 3, 1 => 4] [d] => 5</code>
如您所見,「c」鍵現在包含值同時為 3 和 4 的陣列。這種方法可讓您合併數組,同時保持現有鍵值關係的完整性。
以上是合併具有重複鍵的陣列時如何保留鍵值對?的詳細內容。更多資訊請關注PHP中文網其他相關文章!