我有两个数组:
$array1 = array (a => '501', b => '1');
$array2 = array (a => '501', b => '2');
合并后的数组应如下所示:
$merged_array = array (a => '501', b => '3');
我尝试了很多建议,其中之一是:
$sums = array();
foreach (array_keys($array1 + $array2) as $key) {
$sums[$key] = (isset($array[$key]) ? $array[$key] : 0) + (isset($array2[$key]) ? $array2[$key] : 0);
}
但这会导致:
$merged_array = array (a => '1002', b => '3');
我该怎么做?非常感谢任何建议
编辑:在阅读了一些评论后,我意识到我应该更清楚。见下文
4个数组,注意'a'中的重复项:
$array1 = array (a => '501', b => '1');
$array2 = array (a => '501', b => '2');
$array3 = array (a => '505', b => '1');
$array4 = array (a => '509', b => '1');
4个合并数组和序列化应该变成类似
a:2:{s:1:"a";i:501;s:1:"b";i:3; s:1:"a";i:505;s:1:"b";i:1; s:1:"a";i:509;s:1:"b";i:1;}
所以:2x a => '501' 变成 1x a => '501' 并且它的 'b' 键变成 '3' (求和)
和: 1x a=> '505' 和 b => '1'
和: 1x a=> '509' 和 b => '1'