📜  laravel reduce - PHP (1)

📅  最后修改于: 2023-12-03 15:17:12.903000             🧑  作者: Mango

Laravel Reduce - PHP

在Laravel中,如果您需要对一组数据进行聚合操作(例如,从数组中计算出总和,平均值等),则可以使用集合(Collection)类的reduce方法。该方法使用给定的回调函数将集合的值累加到一个单一的结果中,最后返回一个聚合值。

语法
$collection->reduce(callable $callback, mixed $initial = null)
参数
  • $callback:必要参数,要应用于集合的每个项的回调函数。它带有两个参数,第一个参数是传递到回调函数中的累加值,第二个参数是集合中的当前项。回调函数必须返回累加值。
  • $initial:可选参数,用于初始化累加器。如果不提供,则使用集合中的第一个项作为初始值。
返回值

返回一个单一的聚合值。

例子
$collection = collect([1, 2, 3, 4, 5]);

$sum = $collection->reduce(function ($carry, $item) {
    return $carry + $item;
});

echo $sum; // 输出 15

在上面的例子中,我们通过collect函数将数组变成了集合。 接着,我们调用reduce方法来计算这个集合的总和。我们传递了一个回调函数来实现这个操作。初始值没有指定,因此使用了默认值,即集合的第一个项。

我们也可以传递自己的初始值:

$collection = collect([1, 2, 3, 4, 5]);

$sum = $collection->reduce(function ($carry, $item) {
    return $carry + $item;
}, 10);

echo $sum; // 输出 25

在上面的例子中,我们将自定义值10作为初始值传递给了reduce方法,因此会在计算集合时使用这个初始值。