(PHP 4 >= 4.0.5, PHP 5, PHP 7)
array_reduce — Iteratively reduce the array to a single value using a callback function
array_reduce ( array $array , callable $callback [, mixed $initial = null ] ) : mixed
array_reduce() applies iteratively the callback function to the elements of the array, so as to reduce the array to a single value.
array
The input array.
callback
callback ( mixed $carry , mixed $item ) : mixed
carry
Holds the return value of the previous iteration; in the case of the first iteration it instead holds the value of initial.
item
Holds 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 sum($carry, $item)
{
$carry += $item;
return $carry;
}
function product($carry, $item)
{
$carry *= $item;
return $carry;
}
$a = array(1, 2, 3, 4, 5);
$x = array();
var_dump(array_reduce($a, "sum")); // int(15)
var_dump(array_reduce($a, "product", 10)); // int(1200), because: 10*1*2*3*4*5
var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"
?>
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.array-reduce.php