array_map() — применить функцию к элементам массива
array_map() создаёт новый массив из результатов callback и не изменяет исходный массив.
array_map(?callable $callback, array $array, array ...$arrays): arrayМодель работы
Функция проходит по значениям, передаёт каждое callback-функции и собирает возвращённые результаты. Такой код подчёркивает преобразование данных, но не подходит для побочных эффектов.
Пример с типизацией
<?php
declare(strict_types=1);
$prices = [100, 250, 400];
$withTax = array_map(
static fn (int $price): float => $price * 1.2,
$prices
);Ключи массива
При одном входном массиве строковые ключи сохраняются. При нескольких массивах результат получает последовательные числовые ключи. Если ключи важны для бизнес-логики, используйте foreach с явным присваиванием.
Когда выбрать foreach
foreach легче читать, если одновременно нужна фильтрация, ранний выход, логирование или накопление нескольких результатов. array_map() сильнее там, где преобразование чистое и умещается в короткий именованный callback.
Ошибки
Callback должен принимать столько аргументов, сколько передано массивов. Массивы разной длины дополняются null, поэтому строгий тип параметра может привести к TypeError.
Связанные материалы
Источники и проверка
- PHP Documentation Group — структурный источник, без внешней ссылки
Последняя содержательная проверка: . Автор-разработчик Михаил Каржин. Методика качества контента.