En este tutorial vamos a ver el uso de las funciones PHP Break y Continue. Estas palabras reservadas nos permiten interrumpir o continuar el flujo de una iteración de forma inmediata. Usualmente son utilizados para reducir el tiempo de ejecución de estas mismas iteraciones y no ejecutar código innecesario.
La instrucción Break, como se ha mencionado anteriormente, interrumpe un bucle iterativo y pasa a la siguiente instrucción fuera de este bucle. Es decir, en cualquier iteración que se encuentre un bucle este es detenido y se sale del mismo bucle ignorando cualquier código dentro del bucle luego de dicha instrucción.
Por el contrario la instrucción Continue nos permite saltar a la siguiente iteración de un bucle, ignorando también cualquier instrucción luego de dicha sentencia. Es decir, no corta la ejecución del bucle, pero salta directamente a la siguiente iteración.
Vamos a ver un ejemplo en el cual se combina el uso de ambas instrucciones. Supongamos que tenemos un bucle el cual va a ir desde 0 hasta 19, es decir, se va a repetir 20 veces. Queremos que en cada vez imprima en qué iteración se encuentra. Además, queremos que la iteración número 10 la “salte” y no se ejecute el código dentro del bucle (sin cortar la ejecución del bucle) y que el mismo bucle termine cuando llegue a la iteración número 15. El código necesario para lograr lo anterior descrito sería el siguiente, utilizando Break y Continue:
<?php for($i=0;$i < 19; $i++) //bucle que va desde 0 hasta 19 { if($i == 10) continue; //si estamos en la iteración 10 queremos que salte directamente a la siguiente iteración if($i == 15) break; //si estamos en la iteración 15 queremos que termine el bucle echo "Estamos en la iteración número: $i <br>"; //codigo a ejecutar } echo "El bucle ha terminado."; ?>
El resultado de ejecutar el código anterior nos devolvería lo siguiente:
Estamos en la iteración número: 0 Estamos en la iteración número: 1 Estamos en la iteración número: 2 Estamos en la iteración número: 3 Estamos en la iteración número: 4 Estamos en la iteración número: 5 Estamos en la iteración número: 6 Estamos en la iteración número: 7 Estamos en la iteración número: 8 Estamos en la iteración número: 9 Estamos en la iteración número: 11 Estamos en la iteración número: 12 Estamos en la iteración número: 13 Estamos en la iteración número: 14
Vemos que el número 10 nunca se imprime pero el bucle sí continúa. Además, podemos observar que el bucle acaba en el número 14 (debido al Break).