array_reduce

(PHP 4 >= 4.0.5, PHP 5, PHP 7)
Iteratively reduce the array to a single value using a callback function
mixed array_reduce ( array $array, callable $callback [, mixed $initial = NULL ] )

array_reduce() applies iteratively the callback function to the elements of the array, so as to reduce the array to a single value.

Parameters:
array

The input array.

callback
mixed callback ( mixed $carry , mixed $item )
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:

Returns the resulting value.

If the array is empty and initial is not passed, array_reduce() returns NULL.

Changelog:
5.3.0

Changed initial to allow mixed, previously integer.

Examples:
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() -

array_map() -

array_unique() -

array_count_values() -

doc_php
2016-02-24 16:12:48
Comments
Leave a Comment

Please login to continue.