Производительность foreach, array_map с лямбда-выражением и array_map со статической функциейPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Производительность foreach, array_map с лямбда-выражением и array_map со статической функцией

Сообщение Anonymous »

Какова разница в производительности (если она есть) между этими тремя подходами, которые оба используются для преобразования массива в другой массив?
  • Использование foreach
  • Использование array_map с лямбда-функцией/замыканием
  • Использование array_map со «статической» функцией /method
  • Есть ли другой подход?
Чтобы внести ясность, давайте посмотрим в примерах все делаем одно и то же - умножаем массив чисел на 10:

Код: Выделить всё

$numbers = range(0, 1000);


Foreach

Код: Выделить всё

$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);


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

Подробнее здесь: https://stackoverflow.com/questions/181 ... c-function
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»