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


(PHP 4 >= 4.0.5, PHP 5)

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

Описание

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

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

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

array

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

callback
mixed callback ( mixed $carry , mixed $item )
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 
multiplication($carry$item)
{
    
$carry *= $item;
    return 
$carry;
}

$a = array(12345);
$x = array();

var_dump(array_reduce($a"sum")); // int(15)
var_dump(array_reduce($a"multiplication"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"
?>

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

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