Vamos a probar como es mas rapido un Bucle for si usamos un post-incremento ($i++) o un pre-incremento (++$i).

Bucle for con Post-incremento:

Primero copia el valor de $i en una variable temporal, luego le aumenta uno y después retorna el valor temporal.

//Forma larga$y = $y + 1;$x = $y; //Forma corta$i++

Quedando así:

 for ($i = 0; $i < 10; $i++){};

Bucle for con Pre-incremento:

Primero aumenta en uno el valor de $i y retorna este valor de la variable.

//Forma larga$x = $y;$y = $y + 1; //Forma corta++$i

Quedando así:

 for ($i = 0; $i < 10; ++$i){};

Haciendo un bucle for de 1 000 000 interacciones:

<?php$start = microtime(true);for ($i = 0; $i < 1000000; $i++){};echo 'For $i++: ' . (microtime(true) - $start).'s', PHP_EOL; 
 $start = microtime(true);for ($i = 0; $i < 1000000; ++$i){};echo 'For ++$i: ' . (microtime(true) - $start).'s', PHP_EOL; ?>
//PHP 7.4.0For $i++: 0.0085721015930176sFor ++$i: 0.0050549507141113s
 //PHP 5.6.29For $i++: 0.029861927032471sFor ++$i: 0.025825977325439s
 //PHP 4.4.9For $i++: 0.186533sFor ++$i: 0.165582s

Conclusion:

Al parecer un Bucle con un pre-incremento es un poco mas rapido que uno con Post-incremento.

Tambien se puede ver como las versiones PHP mas modernas ofrecen mejores resultados.

Links:

  • PHP Operadores de incremento/decremento
  • PHP For