array_reduce
(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
array_reduce — Iteratively reduce the array to a single value using a callback function
Description
array_reduce() applies iteratively the callback function to the elements of the array, so as to reduce the array to a single value.
Parameters
arrayThe input array.
callbackcarryHolds 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.
initialIf the optional
initialis available, it will be used at the beginning of the process, or as a final result in case the array is empty.
Return Values
Returns the resulting value.
If the array is empty and initial is not passed, array_reduce() returns null.
Changelog
| Version | Description |
|---|---|
| 8.0.0 | If callback expects a parameter to be passed by reference, this function will now emit an E_WARNING. |
Examples
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"
?>See Also
- array_filter() - Filters elements of an array using a callback function
- array_map() - Applies the callback to the elements of the given arrays
- array_unique() - Removes duplicate values from an array
- array_count_values() - Counts the occurrences of each distinct value in an array
↑ and ↓ to navigate • Enter to select • Esc to close • / to open