English | 简体中文 | 繁體中文
查询

Ds\Set::reduce()函数—用法及示例

「 根据提供的回调函数对集合的所有元素进行归约操作,返回一个单个值 」


函数名称: Ds\Set::reduce()

适用版本: PHP >= 7.3

函数说明: Ds\Set::reduce() 方法用于根据提供的回调函数对集合的所有元素进行归约操作,返回一个单个值。

用法:

public Ds\Set::reduce ( callable $callback [, mixed $initial = NULL ] ) : mixed

参数:

  • $callback: 必需,回调函数,用于对集合的元素进行归约操作。该回调函数有两个参数:第一个参数是累积的值,第二个参数是集合中的当前元素。回调函数应该返回一个新的累积结果。
  • $initial: 可选,初始化的累积值。如果未提供 $initial,那么第一个集合元素将作为累积值的初始值。

返回值: 返回一个单个值作为归约结果。

示例:

$set = new Ds\Set([2, 4, 6, 8]);

// 使用 reduce 方法对集合中的元素进行求和
$sum = $set->reduce(function($carry, $item) {
    return $carry + $item;
}, 0);

echo $sum; // 输出: 20

// 使用 reduce 方法查找集合中的最大值
$max = $set->reduce(function($carry, $item) {
    return $carry >= $item ? $carry : $item;
});

echo $max; // 输出: 8

在上面的示例中,我们创建了一个包含整数的集合。然后,我们使用 reduce 方法对集合进行了两种不同的归约操作:求和和查找最大值。第一个示例中,我们将累积值初始化为0,然后使用回调函数对集合元素依次累加得到总和。在第二个示例中,我们未提供初始化的累积值,因此第一个集合元素作为初始值。然后,使用回调函数对集合元素进行比较,找到最大值。最后,我们通过 echo 语句输出归约结果。

补充纠错
上一个函数: Ds\Set::last()函数
下一个函数: Ds\Set::merge()函数
热门PHP函数
分享链接