所以我有两个数组,我想通过将具有相同键的值相加将它们合并到一个数组中。
array &a
Array
(
[0] => 4
[1] => 10
[2] => 3
[3] => 10
[4] => 7
)
array &b
Array
(
[0] =>
[1] => 1
[2] => 2
[3] => 2
[4] => 2
)
我希望结果数组为
Array
(
[0] => 4
[1] => 11
[2] => 5
[3] => 12
[4] => 9
)
您可以同时使用 array_map()
遍历两个数组。然后,您只需将两个元素加在一起,然后将其作为新元素返回即可。
法典
$result = array_map(function($v1, $v2){
return $v1 + $v2;
}, $a, $b);
使用以下代码:-
$a = [4,10,3,10,7];
$b = ['',1,2,2,2];
$res = [];
foreach($a as $k=>$v){
$res[] = $v + $b[$k];
}
echo '<pre>'; print_r($res);
输出:-
Array
(
[0] => 4
[1] => 11
[2] => 5
[3] => 12
[4] => 9
)
如果第二个数组$b没有与第一个数组相似的记录数$a则,
$a = [4,10,3,10,7];
$b = ['',1,2,2]; // removed last record
$res = [];
foreach($a as $k=>$v){
$res[] = $v + (!empty($b[$k]) ? $b[$k] : 0);
}
echo '<pre>'; print_r($res);
输出:-
Array
(
[0] => 4
[1] => 11
[2] => 5
[3] => 12
[4] => 7
)