获取Laravel集合上多维数组的总和

时间:2018-11-05 11:21:16

标签: laravel laravel-5

$arrays = collect([[0,1], [0,2], [0,3]]);

如何获取数组的和?

我尝试了下面的代码,但出现错误。

 return array_map('array_sum', array_map(null, ...collect->toArray());

如何实现?

$arrays = [0,6];

2 个答案:

答案 0 :(得分:4)

对每个保留键的元素求和

    $arrays = collect([[0,1], [0,2], [0,3]]);
    $sum = array_fill(0, count($arrays->first()), 0);
    foreach ($arrays as $collection) {
        foreach ($collection as $key => $value) {
            $sum[$key] += $value;
        }
    }
    dd($sum);

此输出

array:2 [▼
  0 => 0
  1 => 6
]

答案 1 :(得分:1)

使用Laravel中的Collection s求和:

    $item1_sum = 0;
    $x = collect([[5,1], [0,2], [4,3]])
            ->sum(function($item) use (&$item1_sum) {
                $item1_sum += $item[1];
                return $item[0];
            });
    dd([$x, $item1_sum]); // [9, 6]