(PHP 4 >= 4.0.5, PHP 5, PHP 7)
array_reduce — Итеративно уменьшает массив к единственному значению, используя callback-функцию
   array_reduce() итеративно применяет callback-функцию
   callback к элементам массива
   array и, таким образом, сводит массив
   к единственному значению.
  
arrayВходной массив.
callbackcarry
          Содержит результирующее значение с предыдущей итерации; в случае же первой итерации
          содержит значение параметра initial.
         
itemСодержит значение текущей итерации.
initial
       Если передан необязательный параметр initial,
       то он будет использован в начале процесса, или в качестве
       окончательного результата в случае пустого массива.
      
Возвращает получившееся значение.
   Если массив пуст и не передан параметр initial,
   array_reduce() вернет NULL.
  
| Версия | Описание | 
|---|---|
| 5.3.0 | Параметр initialтеперь позволяет 
        передать mixed, ранее передавался только 
        integer. | 
Пример #1 Пример использованияarray_reduce()
<?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), потому что: 10*1*2*3*4*5
var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"
?>