Syntax:mixed abstract public DsSequence::reduce (callable $callback [, mixed $initial])
Parameters:This function takes two parameters as above and described below:
- $callback:This parameter contains a function that contains operation on elements and storage in transfer. This callback function contains two arguments, carry and value, where carry - is the value returned by the function, and the value - this is the element’s value at the current iteration.
- $initial:this parameter contains the initial hyphenation value, which can be NULL.
Return Value:This function returns the final value of the callback function.The following programs illustrate the
Ds / Sequence::redu()function in PHP:
Program 1:
// Declare a new sequence
$seq
=
new
DsVector ([1, 2, 3, 4, 5]);
echo
(
" Sequence Elements "
);
print_r (
$seq
);
// callback function with downgrade
echo
(
"Element after performing operation"
);
var_dump (
$seq
-> reduce (
function
( $carry
,
$element
) {
return
$carry
+
$element
+ 2;
}));
?>
Exit:Sequence Elements DsVector Object ([0] = > 1 [1] = > 2 [2] = > 3 [3] = > 4 [4] = > 5) Element after performing operation int (25)
Program 2:
// Declare a new sequence
$seq
=
new
DsVector ([10, 20, 30, 40, 50]);
echo
(
" Original sequence elements "
);
print_r (
$seq
);
$func_gfg
=
function
(
$carry
,
$element
) {
return
$carry
*
$element
;
};
echo
(
" Sequence after reducing to single element "
);
// Using the redu() function
var_dump (
$seq
-> reduce (
$func_gfg
, 10));
?>
Exit:Original sequence elements DsVector Object ([0] = > 10 [1] = > 20 [2] = > 30 [3] = > 40 [4] = > 50) Sequence after reducing to single element int (120000000)
Link: https://www.php.net /manual/en/ds-sequence.reduce.php