(PHP 4 >= 4.0.5, PHP 5)
array_reduce — Iteratively reduce the array to a single value using a callback function
array_reduce() applies iteratively the
callback function to the elements of the
array, so as to reduce the array to
a single value.
arrayThe input array.
callbackcarry
Holds the return value of the previous iteration; in the case of the
first iteration it instead holds the value of
initial.
itemHolds the value of the current iteration.
initial
If the optional initial is available, it will
be used at the beginning of the process, or as a final result in case
the array is empty.
Returns the resulting value.
If the array is empty and initial is not passed,
array_reduce() returns NULL.
Example #1 array_reduce() example
<?php
function rsum($v, $w)
{
$v += $w;
return $v;
}
function rmul($v, $w)
{
$v *= $w;
return $v;
}
$a = array(1, 2, 3, 4, 5);
$x = array();
$b = array_reduce($a, "rsum");
$c = array_reduce($a, "rmul", 10);
$d = array_reduce($x, "rsum", "No data to reduce");
?>
This will result in $b containing 15, $c containing 1200 (= 10*1*2*3*4*5), and $d containing No data to reduce.