Wydajność foreach, array_map z lambda i array_map z funkcją statyczną

Jaka jest różnica w wydajności (jeśli taka istnieje) między tymi trzema podejściami, obie używane do przekształcenia tablicy w inną tablicę?

Za pomocąforeachZa pomocąarray_map z funkcją lambda / zamknięciaZa pomocąarray_map z funkcją / metodą „statyczną”Czy jest jakieś inne podejście?

Żeby było jasne, spójrzmy na przykłady, wszystkie robią to samo - mnożąc tablicę liczb przez 10:

$numbers = range(0, 1000);

Dla każdego

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

Mapa z lambda

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

Mapa z funkcją „statyczną”, przekazana jako odniesienie do łańcucha

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

Czy jest jakieś inne podejście? Chętnie usłyszęwszystko różnice między przypadkami z góry oraz wszelkie dane wejściowe, dlaczego należy je stosować zamiast innych.

questionAnswers(3)

yourAnswerToTheQuestion