【问题标题】:Increase values in array by array逐个增加数组中的值
【发布时间】:2014-02-13 14:40:07
【问题描述】:

我有一个头部数组:

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
)

我该怎么做?

帕特里克。

【问题讨论】:

  • 一个简单的循环就可以轻松做到这一点。
  • foreach 或 array_walk 与一些 lambda
  • 您是否尝试过任何事情并卡在某个地方?发表您的努力,我们很乐意为您提供帮助。
  • 我找不到我的问题的答案@CodingAnt

标签: php arrays


【解决方案1】:

以下内容如何:

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

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


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

$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
)

Demo

【讨论】:

    【解决方案2】:

    越简单越好。

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

    【讨论】:

      【解决方案3】:
      for($i = 0; $i < count($headArray); $i++)
          $headArray[$i] += $secondArray[$i];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-22
        • 2018-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-25
        • 2021-06-08
        • 1970-01-01
        相关资源
        最近更新 更多