array_reduce

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

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

Описание

array_reduce(array $array, callable $callback, mixed $initial = null): mixed

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

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

array

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

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

Содержит результирующее значение с предыдущей итерации; при первой итерации содержит значение параметра initial.

item

Содержит значение текущей итерации.

initial

При передаче необязательного аргумента initial функция использует значение аргумента в начале процесса, или как конечный результат, если передать пустой массив.

Возвращаемые значения

Функция возвращает значение, которое вычислила.

Функция array_reduce() вернёт null, если массив пуст и не передали параметр initial.

Список изменений

Версия Описание
8.0.0 Теперь функция выдаст ошибку уровня E_WARNING, если параметр callback ожидает, что значение передадут по ссылке.

Примеры

Пример #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", "Нет данных")); // string(19) "Нет данных"

?>

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

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