Syntax:mixed public DsVector::reduce ($callback, $initial)
Parameters : This function takes two parameters as above and described below:
- $callback:This parameter contains a function that contains an element operation and storage in the 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 returned by the callback function.The following programs illustrate the
Ds / Vector::redu()function in PHP:
Program 1:
// Declare a new vector
$vect
=
new
DsVector ([1, 2, 3, 4, 5]) ;
echo
(
" Vector Elements "
);
print_r (
$vect
);
// callback function with Reduce function
echo
(
"Element after performing operation"
);
var_dump (
$vect
-> reduce (
function
(
$carry
,
$element
) {
return
$carry
+
$element
+ 2;
}));
?>
Output:Vector Elements DsVector Object ([0] = > 1 [1] = > 2 [2] = > 3 [3] = > 4 [4] = > 5) Element after performing operation int (25)
Program 2:
// Declare a new vector
$vect
=
new
DsVector ([10, 20, 30 , 40, 50]);
echo
(
" Original vector elements "
);
print_r (
$vect
);
$func_gfg
=
function
(
$carry
,
$element
) {
return
$carry
*
$element
;
};
echo
(
" Vector after reducing to single element "
);
// Using the redu() function
var_dump (
$vect
-> reduce (
$func_gfg
, 10));
?>
Output:Original vector elements DsVector Object ([0] = > 10 [1] = > 20 [2] = > 30 [3] = > 40 [4] = > 50) Vector after reducing to single element int (120000000)
Link: http: // php.net/manual/en/ds-vector.reduce.php