array_reduce

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

array_reduceИтеративно уменьшает массив к единственному значению, используя callback-функцию

Описание

array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] ) : mixed

array_reduce() итеративно применяет callback-функцию callback к элементам массива array и, таким образом, сводит массив к единственному значению.

Список параметров

array

Входной массив.

callback
callback ( mixed $carry , mixed $item ) : mixed
carry

Содержит результирующее значение с предыдущей итерации; в случае же первой итерации содержит значение параметра 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(12345);
$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""Нет данных")); // string(19) "Нет данных"
?>

Смотрите также

  • array_filter() - Фильтрует элементы массива с помощью callback-функции
  • array_map() - Применяет callback-функцию ко всем элементам указанных массивов
  • array_unique() - Убирает повторяющиеся значения из массива
  • array_count_values() - Подсчитывает количество всех значений массива