假設您有兩個數組$A 和$B,並且您想要合併它們,同時保留兩個數組中都存在的鍵。但是,當您注意到使用 array_merge 時,同名的鍵會被覆蓋,從而導致資料遺失。
要解決此挑戰,您必須使用 array_merge_recursive 而不是 array_merge。此函數執行遞歸合併,確保具有相同名稱的鍵被組合到陣列中而不是被覆蓋。
例如,給定以下數組:
<code class="php">$A = ['a' => 1, 'b' => 2, 'c' => 3]; $B = ['c' => 4, 'd' => 5];</code>
使用array_merge_recursive 合併它們將Yield:
<code class="php">array_merge_recursive($A, $B); // result ['a' => 1, 'b' => 2, 'c' => [3, 4], 'd' => 5]</code>
如您所見,與鍵「c」相關的兩個值都保留在合併數組中。此方法可確保保留兩個數組中的所有數據,從而消除丟失鍵的問題。
以上是如何在保留所有資料的同時合併具有重複鍵的陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!