查詢

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函式
分享連結