求和两个数组的最佳方法 [闭合]

2022-08-30 22:36:42

我有两个数组:

$a = array(10, 2, 5, 10, 0);
$b = array(1, 20, 11, 8, 3);

我需要总结并得到结果:

$c = array(11, 22, 16, 18, 3);

关于如何在没有“foreach”的情况下做到这一点的任何建议?


答案 1

一个简单的方法可能是

$c = array_map(function () {
    return array_sum(func_get_args());
}, $a, $b);

print_r($c);

或者,如果你可以使用 PHP5.6,你也可以使用像这样的可变参数函数

$c = array_map(function (...$arrays) {
    return array_sum($arrays);
}, $a, $b);

print_r($c);

输出

Array
(
    [0] => 11
    [1] => 22
    [2] => 16
    [3] => 18
    [4] => 3
)

答案 2

尝试喜欢

$c = array();
foreach (array_keys($a + $b) as $key) {
    $c[$key] = $a[$key] + $b[$key];
}