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

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

「 对Sequence(序列)中的所有元素进行迭代,并将它们缩减为单个值 」


函数:Ds\Sequence::reduce()

适用版本:PHP 7.4.0或更高版本

用法:reduce()函数用于对Sequence(序列)中的所有元素进行迭代,并将它们缩减为单个值。

语法:public function reduce(callable $callback, $initial = null)

参数:

  1. $callback(必需):一个回调函数,用于对每个元素进行处理。回调函数接受两个参数:累计值和当前元素值,并返回累计值。
  2. $initial(可选):在迭代开始前用作初始值的值。如果没有提供初始值,则将使用Sequence中的第一个元素。

返回值:返回最终的累计值。

示例:

use Ds\Sequence;

$sequence = new Sequence([1, 2, 3, 4, 5]);

// 使用 reduce() 对Sequence中的元素进行相加操作
$result = $sequence->reduce(function($carry, $item) {
    return $carry + $item;
});

echo $result; // 输出: 15(1 + 2 + 3 + 4 + 5 = 15)

// 使用 reduce() 对Sequence中的元素进行字符串连接操作
$result = $sequence->reduce(function($carry, $item) {
    return $carry . $item;
}, 'Initial ');

echo $result; // 输出: Initial 12345(将字符串 'Initial ' 与每个元素连在一起)

// 如果没有提供初始值,则将使用Sequence中的第一个元素作为初始值
$result = $sequence->reduce(function($carry, $item) {
    return $carry * $item;
});

echo $result; // 输出: 120(1 * 2 * 3 * 4 * 5 = 120)

注意:在上述示例中,我们使用了Ds库中的Sequence类,由于该库不是PHP的原生函数库,所以您需要先安装Ds库才能使用该函数。

补充纠错
上一个函数: Ds\Sequence::push()函数
下一个函数: Ds\Sequence::remove()函数
热门PHP函数
分享链接