array_reduce
Сводит массив к одному значению.
Синтаксис
array_reduce(array $array, callable $callback, mixed $initial = null): mixedПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $array | array | Исходный массив. |
| $callback | callable | Функция, которая получает накопленное значение и очередной элемент. |
| $initial | mixed | Необязательный. Начальное накопленное значение. |
Возвращаемое значение
mixedИтоговое значение.
Примеры
Сумма по полю:
<?php
$orders = [['total' => 100], ['total' => 250]];
echo array_reduce($orders, fn ($sum, $order) => $sum + $order['total'], 0);Результат:
350Самое длинное слово:
<?php
$words = ['pear', 'banana', 'fig'];
echo array_reduce($words, fn ($longest, $word) => strlen($word) > strlen($longest) ? $word : $longest, '');Результат:
bananaПримечания
Всегда передавайте начальное значение: без него для пустого массива вернётся null.
См. также
- array_map — Применяет функцию к каждому элементу массива.
- array_filter — Оставляет в массиве элементы, прошедшие проверку.
- array_sum — Возвращает сумму значений массива.
В учебнике
- Функции для массивов — Обработка массивов в PHP без циклов — array_map, array_filter, array_reduce, поиск и срезы.