Sobes.tech
Назад к вопросам
Junior — Middle
114

Понимаете ли вы, как осуществляется вызов функции при использовании array_map() с callback?

Ответ от нейросети

sobes.tech AI

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

Когда вы передаете callback в array_map(), PHP вызывает эту функцию для каждого элемента массива, передавая в нее соответствующие значения из каждого массива по индексу.

Пример:

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

$numbers = [1, 2, 3, 4];
$squares = array_map('square', $numbers);
print_r($squares); // Выведет: [1, 4, 9, 16]

Если передать несколько массивов, callback должен принимать столько же аргументов, сколько массивов:

function sum($a, $b) {
    return $a + $b;
}

$arr1 = [1, 2, 3];
$arr2 = [4, 5, 6];
$sums = array_map('sum', $arr1, $arr2);
print_r($sums); // Выведет: [5, 7, 9]

Таким образом, array_map() вызывает callback для каждого набора элементов из массивов, формируя новый массив из результатов вызовов.