Laravel 8 reduce() {#collection-method}
reduce
方法将每次迭代的结果传递给下一次迭代直到集合减少为单个值:
$collection = collect([1, 2, 3]);
$total = $collection->reduce(function ($carry, $item) {
return $carry + $item;
});
// 6
第一次迭代时 $carry
的数值为 null
; 你也可以通过传入第二个参数到 reduce
来指定它的初始值:
$collection->reduce(function ($carry, $item) {
return $carry + $item;
}, 4);
// 10