PHP: Функция array_map()

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

Синтаксис функции array_map():
array_map(callback, array1, array2, ...)

  • callback: функция, которая будет применена к каждому элементу массива.
  • array1, array2, ...: массивы, к которым будет применена функция.

Пример использования


Допустим, у нас есть массив чисел, и мы хотим возвести каждое число в квадрат:
$numbers = [1, 2, 3, 4, 5];

function square($n) {
    return $n * $n;
}

$squared = array_map('square', $numbers);

print_r($squared);

Результат:
Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
    [4] => 25
)

Применение нескольких массивов


Функция array_map() может принимать несколько массивов. В этом случае функция будет вызвана с аргументами из каждого массива:
$names = ['Alice', 'Bob', 'Charlie'];
$salaries = [50000, 60000, 70000];

function displayEmployee($name, $salary) {
    return "$name earns $salary";
}

$employees = array_map('displayEmployee', $names, $salaries);

print_r($employees);

Результат:
Array
(
    [0] => Alice earns 50000
    [1] => Bob earns 60000
    [2] => Charlie earns 70000
)

Использование анонимных функций


Вместо определения отдельной функции, можно использовать анонимные функции (лямбда-функции):
$numbers = [1, 2, 3, 4, 5];

$squared = array_map(function($n) {
    return $n * $n;
}, $numbers);

print_r($squared);

Результат будет таким же, как и в первом примере.

Заключение
Функция array_map() — это мощный инструмент для обработки массивов в PHP. Она позволяет легко применять пользовательские функции к каждому элементу массива и возвращает новый массив с результатами. Это делает код более читаемым и эффективным.

Автор:  09.11.2025 06:50:20 am