函式:Ds\Sequence::reduce()
適用版本:PHP 7.4.0或更高版本
用法:reduce()函式用於對Sequence(序列)中的所有元素進行迭代,並將它們縮減為單個值。
語法:public function reduce(callable $callback, $initial = null)
引數:
- $callback(必需):一個回撥函式,用於對每個元素進行處理。回撥函式接受兩個引數:累計值和當前元素值,並返回累計值。
- $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庫才能使用該函式。