Al igual que la declaración break, continue es otra «declaración de control de bucle» en PHP. A diferencia de la instrucción break, la instrucción continue omite la iteración actual y continúa la ejecución en la evaluación de condición y, a continuación, al comienzo de la siguiente iteración.
La instrucción continue se puede utilizar dentro de cualquier tipo de construcciones de bucle, es decir, bucles for, foreach, while o do-while. Al igual que break, la palabra clave continue también se usa normalmente de forma condicional.
while(expr){
if (condition){
continue;
}
}
En el siguiente diagrama de flujo se explica cómo funciona la instrucción continue:
Ejemplo
A continuación se muestra un ejemplo simple que muestra el uso de continue. Se espera que el bucle for complete diez iteraciones. Sin embargo, la instrucción continue omite la iteración siempre que el identificador del contador sea divisible por 2.
<?php
for ($x=1; $x<=10; $x++){
if ($x%2==0){
continue;
}
echo "x = $x \n";
}
?>
Producirá el siguiente resultado:
x = 1
x = 3
x = 5
x = 7
x = 9
Ejemplo
La instrucción continue acepta un argumento numérico opcional que le indica cuántos niveles de bucles envolventes debe saltar hasta el final. El valor predeterminado es 1.
<?php
for ($i=1; $i<=3; $i++){
for ($j=1; $j<=3; $j++){
for ($k=1; $k<=3; $k++){
if ($k>1){
continue 2;
}
print "i: $i j:$j k: $k\n";
}
}
}
?>
Producirá el siguiente resultado:
i: 1 j:1 k: 1
i: 1 j:2 k: 1
i: 1 j:3 k: 1
i: 2 j:1 k: 1
i: 2 j:2 k: 1
i: 2 j:3 k: 1
i: 3 j:1 k: 1
i: 3 j:2 k: 1
i: 3 j:3 k: 1
La instrucción continue en el bucle for interno omite las iteraciones 2 y 3 y salta directamente al bucle central. Por lo tanto, la salida muestra «k» como 1 para todos los valores de las variables «i» y «k».