合并数组时保留现有的键值对
在编程中,会出现这样的情况:您需要合并两个数组,同时确保键 -两个数组中的值对都被保留。当存在重复键时,这将成为一个挑战。
让我们考虑提供的示例:
<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中文网其他相关文章!