首页  >  文章  >  后端开发  >  如何合并具有相同键的数组并保留所有数据?

如何合并具有相同键的数组并保留所有数据?

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