假设您有两个数组 $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中文网其他相关文章!