ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
184 of 410 menu
Бесплатный курс по выкладке сайтов на хостинг. Разбираем все нюансы! Начало 14 октября. Жми для записи!

Функция array_reduce

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

В первом параметре функция принимает массив, во втором - коллбэк, который будет по очереди применятся к каждому элементу массива.

В третьем необязательном параметре будет начальное значение, с которого будет начинаться сворачивание массива. По умолчанию этот параметр имеет значение null.

Функция-коллбэк параметрами получает два значения. Первое значение содержит результирующее значение с предыдущей итерации. В случае же первой итерации содержит значение третьего параметра.

А второе значение коллбэка содержит текущий элемент массива.

Коллбэк по очереди будет применяться к каждому элементу массива. То, что вернет на текущей итерации коллбэк, попадет в первый параметр коллбэка на следующей итерации.

Таким образом, коллбэк последовательно применится к каждому элементу массива по очереди и в итоге получится некое значение. Это значение и будет результатом работы функции array_reduce.

Синтаксис

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

Пример

Давайте найдем сумму элементов массива:

<?php $arr = [1, 2, 3, 4, 5]; function func($prev, $elem) { return $prev + $elem; } $res = array_reduce($arr, 'func', 0); echo $res; ?>

Результат выполнения кода:

15

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

  • функцию array_map,
    которая применяет функцию к элементам массива
  • функцию array_walk,
    которая вызывает функцию для элементов массива
  • функцию array_filter,
    которая фильтрует массив
  • функцию array_walk_recursive,
    которая рекурсивно вызывает функцию для элементов массива
byenru