对具有相同元素数量的两个平面数组之间具有相同键的元素求和[重复]

问题描述 投票:0回答:3

我有一个头部阵列:

Array
(
    [0] => 10
    [1] => 10
    [2] => 10
    [3] => 10
    [4] => 10
    [5] => 10
)

我的第二个数组如下所示:

Array
(
    [0] => 1
    [1] => 7
    [2] => 3
    [3] => 1
    [4] => 1
    [5] => 7
)

现在我想将头数组中的值增加第二个数组中的值。

结果应如下所示:

Array
(
    [0] => 11
    [1] => 17
    [2] => 13
    [3] => 11
    [4] => 11
    [5] => 17
)

我该怎么做?

帕特里克。

php arrays sum
3个回答
2
投票

以下怎么样:

$result = array_map(function () {
    return array_sum(func_get_args());
}, $arr1, $arr2);

func_get_args()
从每个数组中获取一个元素,
array_sum()
添加这两个值,
array_map()
创建新数组。最初的想法来自这个答案


或者,如果您想使用循环,请尝试以下操作:

$result = array();

for($i=0,$count=count($arr1); $i < $count; $i++) {
  $result[$i] = $arr1[$i] + $arr2[$i];
}

输出:

Array
(
    [0] => 11
    [1] => 17
    [2] => 13
    [3] => 11
    [4] => 11
    [5] => 17
)

演示


2
投票

越简单越好。

foreach ($a1 as $index => &$value) {
    $value += $a2[$index];
}

0
投票
for($i = 0; $i < count($headArray); $i++)
    $headArray[$i] += $secondArray[$i];
© www.soinside.com 2019 - 2024. All rights reserved.