(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() 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 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"
?>