Back to questions
Junior — Middle
113
Понимаете ли вы, как осуществляется вызов функции при использовании array_map() с callback?
Answer from AI
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 для каждого набора элементов из массивов, формируя новый массив из результатов вызовов.