Производительность foreach, array_map с lambda и array_map со статической функцией

Какая разница в производительности (если есть) между этими тремя подходами, которые используются для преобразования массива в другой массив?

С помощьюforeachС помощьюarray_map с лямбда / функцией закрытияС помощьюarray_map со «статической» функцией / методомЕсть ли другой подход?

Чтобы прояснить ситуацию, давайте посмотрим на примеры, все они делают одно и то же - умножая массив чисел на 10:

$numbers = range(0, 1000);

Для каждого

$result = array();
foreach ($numbers as $number) {
    $result[] = $number * 10;
}
return $result;

Карта с лямбдой

return array_map(function($number) {
    return $number * 10;
}, $numbers);

Карта со статической функцией, переданная как строковая ссылка

function tenTimes($number) {
    return $number * 10;
}
return array_map('tenTimes', $numbers);

Есть ли другой подход? Я буду рад услышать на самом делевсе различия между приведенными выше случаями и любые входные данные, почему один должен использоваться вместо других.

Ответы на вопрос(3)

Ваш ответ на вопрос