detener un bucle en php y continuar después

La manera que tenemos de detener un bucle en php o activar el freno de emergencia es la instrucción Break, normalmente, la única manera de detener un bucle es que se cumpla la expresión que determina cuando finaliza el bucle.

En este ejemplo vamos hacer que el bucle cuando llegue a cero se detenga y muestre un mensaje, no obstante podremos utilizarlo para muchas cosas mas, pero para explicarlo y que se entienda es lo mas factible, podemos hacer que en un formulario que envia un cliente y que el valor que esperamos es positivo, el cliente introduzca un valor negativo y tomar decisiones al respecto.

Veamos un ejemplo


<?php

   $contador = -5;
   
   for(; $contador <= 10; contador++)
   {
      if($countador == 0)
      {
        echo "detenemos para no dividir entre 0";
        break;
      }
     
     echo "100/$contador<br />";
   }
?>

Resultado:

  • 100/-3
  • 100/-2
  • 100/-1
  • detenemos para no dividir entre 0

Ahora bien, puede ser que en ocasiones queramos saltarnos dividir entre 0 y continuar con el siguiente, en este caso el 1, para ese tipo de casos tenemos la instrucción continue, el trabajo de continue es… no lo digo, lo hago.

Supongamos que tenemos el mismo bucle.


<?php

   $contador = -5;
   
   for(; $contador <= 10; $contador++)
   {
      if($contador == 0)
      {
        echo "detenemos para no dividir entre 0<br />";
        continue; //cambiamos break por continue 
      }
     
     echo "100/$contador<br />";
   }
?>

Resultado:

  • 100/-5
  • 100/-4
  • 100/-3
  • 100/-2
  • 100/-1
  • detenemos para no dividir entre 0
  • 100/1
  • 100/2
  • 100/3
  • 100/4
  • 100/5

Con la instrucción continue Conseguimos parar en un determinado paso y seguidamente continuar recorriendo el bucle.

Cualquier duda, en los comentarios y entre todos las contestaremos y resolveremos.

¡Un saludo!