Ds \ Sequence::reduce()函数是PHP中的一个内置函数,用于使用回调函数将序列减少为单个值。
用法:
mixed abstract public Ds\Sequence::reduce ( callable $callback [, mixed $initial ] )
参数:该函数接受上述和以下描述的两个参数:
- $callback:该参数具有包含对元素的操作和存储进位的函数。该回调函数包含两个参数,进位和值,其中进位是该函数返回的值,而值是当前迭代中元素的值。
- $initial:此参数保存进位的初始值,可以为NULL。
返回值:该函数返回回调函数的最终值。
以下示例程序旨在说明PHP中的Ds \ Sequence::reduce()函数:
程序1:
<?php
// Declare new sequence
$seq = new \Ds\Vector([1, 2, 3, 4, 5]);
echo("Sequence Elements\n");
print_r($seq);
// Callback function with reduce function
echo("\nElement after performing operation\n");
var_dump($seq->reduce(function($carry, $element) {
return $carry + $element + 2;
}));
?>
输出:
Sequence Elements Ds\Vector Object ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) Element after performing operation int(25)
程序2:
<?php
// Declare new sequence
$seq = new \Ds\Vector([10, 20, 30, 40, 50]);
echo("Original sequence elements\n");
print_r($seq);
$func_gfg = function($carry, $element) {
return $carry * $element;
};
echo("\nSequence after reducing to single element\n");
// Use reduce() function
var_dump($seq->reduce($func_gfg, 10));
?>
输出:
Original sequence elements Ds\Vector Object ( [0] => 10 [1] => 20 [2] => 30 [3] => 40 [4] => 50 ) Sequence after reducing to single element int(120000000)
参考: https://www.php.net/manual/en/ds-sequence.reduce.php
相关用法
- PHP Ds\Set reduce()用法及代码示例
- PHP Ds\Map reduce()用法及代码示例
- PHP Ds\Vector reduce()用法及代码示例
- PHP Ds\Deque reduce()用法及代码示例
- Javascript Array reduce()用法及代码示例
- PHP tan( )用法及代码示例
- PHP exp()用法及代码示例
- PHP min( )用法及代码示例
- d3.js d3.max()用法及代码示例
注:本文由纯净天空筛选整理自R_Raj大神的英文原创作品 PHP | Ds\Sequence reduce() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。