Rendimiento de foreach, array_map con lambda y array_map con función estática
¿Cuál es la diferencia de rendimiento (si existe) entre estos tres enfoques, ambos utilizados para transformar una matriz en otra matriz?
Utilizandoforeach
Utilizandoarray_map
con función lambda / cierreUtilizandoarray_map
con función / método 'estático'¿Hay algún otro enfoque?Para aclararme, veamos los ejemplos, todos haciendo lo mismo, multiplicando la matriz de números por 10:
$numbers = range(0, 1000);
Para cada
$result = array();
foreach ($numbers as $number) {
$result[] = $number * 10;
}
return $result;
Mapa con lambda
return array_map(function($number) {
return $number * 10;
}, $numbers);
Mapa con función 'estática', pasada como referencia de cadena
function tenTimes($number) {
return $number * 10;
}
return array_map('tenTimes', $numbers);
¿Hay algún otro enfoque? Estaré feliz de escuchar en realidadtodos diferencias entre los casos anteriores y cualquier entrada por la que se debe utilizar uno en lugar de otros.