¿Cual de estos 3 bucles (foreach | while | for) php es el más rápido? bien, en este artículo vamos a hacer un test para controlar el tiempo de ejecución en segundos, que conseguimos con la función microtime().
En primer lugar, el código php de test:
$numero = 1500000; // Generamos array $array = array(); $i = 0; while($i < $numero) { $array[] = $i++; } // Foreach $tiempo = microtime(true); foreach($array as $a) { $numeroulo = $a; } $tiempo_final = microtime(true); $tiempo_foreach = $tiempo_final-$tiempo; echo number_format($tiempo_foreach, 3, '.', '') ." segundos - foreach()\n"; // While $tiempo = microtime(true); $i = 0; $longitud = count($array); while($i<$longitud) { $numeroulo = $array[$i++]; } $tiempo_final = microtime(true); $tiempo_while = $tiempo_final-$tiempo; echo number_format($tiempo_while, 3, '.', '') ." segundos - while()\n"; // For $tiempo = microtime(true); $longitud = count($array); for($i=0;$i<$longitud;++$i) { $numeroulo = $array[$i]; } $tiempo_final = microtime(true); $tiempo_for = $tiempo_final-$tiempo; echo number_format($tiempo_for, 3, '.', '') ." segundos - for()\n";
Y el resultado es:
0.139 segundos – foreach()
0.194 segundos – while()
0.187 segundos – for()
Podemos decir que el ganador en en cuanto a velocidad es foreach()
Agradezco tu comentario 🤘