array_map() применяет функцию (callback) ко всем элементам массива и возвращает новый массив, где каждый элемент — это результат вызова функции.
Синтаксис
array_map(callable $callback, array $array, array ...$arrays): array
$callback— функция, которая применяется к каждому элементу.$array— один или несколько массивов.- Возвращает новый массив с результатами.
Простой пример: Удвоить все значения
$numbers = [1, 2, 3, 4];
$result = array_map(function($n) {
return $n * 2;
}, $numbers);
print_r($result);
// Вывод
Array
(
[0] => 2
[1] => 4
[2] => 6
[3] => 8
)
Пример: Приведение к верхнему регистру
$names = ["alice", "bob", "charlie"];
$upper = array_map('strtoupper', $names);
print_r($upper);
// Вывод
Array
(
[0] => ALICE
[1] => BOB
[2] => CHARLIE
)
Пример с двумя массивами
Если передаётся несколько массивов, то элементы с одинаковыми индексами объединяются и передаются в callback.
$a = [1, 2, 3];
$b = [4, 5, 6];
$result = array_map(function($x, $y) {
return $x + $y;
}, $a, $b);
print_r($result);
// Вывод
Array
(
[0] => 5
[1] => 7
[2] => 9
)
Пример: Форматирование данных
$users = ['Alice', 'Bob', 'Charlie'];
$result = array_map(function($name) {
return "Hello, $name!";
}, $users);
print_r($result);
// Вывод
Array
(
[0] => Hello, Alice!
[1] => Hello, Bob!
[2] => Hello, Charlie!
)
Пример с проекта PurplePlanet.
Функция array_map() проходит по всем элементам массива $solutions и применяет анонимную функцию ко каждому элементу. Эта функция собирает данные о каждом посте в виде массива.
Внутри анонимной функции для каждого поста собираются различные данные.


Когда использовать array_map()
✅ Хочешь преобразовать массив и получить новый массив
✅ Нужен одинаковый эффект на каждый элемент
✅ Надо быстро обработать массив без foreach
