Введение

Допустим, у вас есть массив, содержащий длины сторон квадратов:
Чтобы вычислить площади этих квадратов, можно воспользоваться циклом foreach:
Результат:
Цикл foreach проходит по каждому элементу массива $lengths, вычисляет площадь квадрата и добавляет результат в массив $areas.
Альтернативно можно использовать функцию array_map(), которая позволяет добиться того же результата:
В этом примере array_map() применяет анонимную функцию к каждому элементу массива $lengths и возвращает новый массив с результатами.
Начиная с PHP 7.4, можно использовать стрелочные функции:

Синтаксис функции PHP array_map()

  • $callback - вызываемая функция, применяемая к каждому элементу массива.
  • $array - массив элементов, к которым применяется callback.
  • $arrays - дополнительные массивы (если требуется).
Функция возвращает новый массив с результатами применения callback-функции.

Использование array_map() с массивом объектов

Пример класса и массива объектов:
Чтобы получить список имён пользователей:
Результат:

Использование статического метода в качестве callback

Callback-функцией может быть и статический метод класса:
Статический метод должен принимать элемент массива как аргумент. Синтаксис передачи: 'ClassName::staticMethodName'.

Итог

Функция PHP array_map() позволяет создавать новый массив, применяя callback-функцию к каждому элементу исходного массива. Это удобный инструмент для преобразования данных в массивах.