Получить сумму многомерного массива на Laravel Collection - PullRequest
0 голосов
/ 05 ноября 2018
$arrays = collect([[0,1], [0,2], [0,3]]);

Как получить сумму массива?

Я попробовал код ниже, но я получил ошибку.

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

Как этого добиться?

$arrays = [0,6];

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

сумма каждого элемента с ключом

    $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
]
0 голосов
/ 05 ноября 2018

Получить сумму, используя Collection s в Laravel:

    $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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...