continue
La sintaxis básica de continue
es simple y se utiliza dentro de estructuras de bucle como for
, foreach
, while
y do-while
. Cuando se encuentra una sentencia continue
, la ejecución del bucle salta inmediatamente a la siguiente iteración.
continue
<?php
for ($i = 0; $i < 10; $i++) {
if ($i % 2 == 0) {
continue; // Salta los números pares
}
echo $i . " ";
}
?>
Este código imprimirá los números impares del 0 al 9, ya que continue
omite la impresión de los números pares.
continue
en Bucles Anidados
En bucles anidados, continue
puede controlar el flujo de cada bucle de forma independiente. PHP permite especificar a cuál bucle debe aplicar continue
utilizando un argumento opcional, n
, que indica cuántos niveles de bucle debe saltar.
continue
Primero, veamos un ejemplo de bucles anidados sin el uso de continue
:
<?php
for ($i = 1; $i <= 3; $i++) {
for ($j = 1; $j <= 3; $j++) {
echo "i = $i, j = $j\n";
}
}
?>
La salida será:
i = 1, j = 1
i = 1, j = 2
i = 1, j = 3
i = 2, j = 1
i = 2, j = 2
i = 2, j = 3
i = 3, j = 1
i = 3, j = 2
i = 3, j = 3
continue
en el Bucle Interno
Ahora, modifiquemos el ejemplo anterior para utilizar continue
en el bucle interno:
<?php
for ($i = 1; $i <= 3; $i++) {
for ($j = 1; $j <= 3; $j++) {
if ($j == 2) {
continue; // Salta la iteración cuando j es 2
}
echo "i = $i, j = $j\n";
}
}
?>
La salida será:
i = 1, j = 1
i = 1, j = 3
i = 2, j = 1
i = 2, j = 3
i = 3, j = 1
i = 3, j = 3
continue
con un Argumento
Para controlar el bucle externo desde el interno, podemos usar continue
con un argumento. Veamos un ejemplo en el que queremos saltar a la siguiente iteración del bucle externo cuando se cumple una condición en el bucle interno.
<?php
for ($i = 1; $i <= 3; $i++) {
for ($j = 1; $j <= 3; $j++) {
if ($j == 2) {
continue 2; // Salta a la siguiente iteración del bucle externo
}
echo "i = $i, j = $j\n";
}
}
?>
La salida será:
i = 1, j = 1
i = 2, j = 1
i = 3, j = 1
Consideremos un escenario en el que tenemos una matriz bidimensional y queremos imprimir los elementos, pero omitir ciertos valores específicos.
<?php
$matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
for ($i = 0; $i < count($matrix); $i++) {
for ($j = 0; $j < count($matrix[$i]); $j++) {
if ($matrix[$i][$j] == 5) {
continue 2; // Omite el valor 5 y salta al siguiente bucle externo
}
echo $matrix[$i][$j] . " ";
}
echo "\n"; // Nueva línea para cada fila
}
?>
La salida será:
1 2 3
7 8 9
En este ejemplo, cuando se encuentra el valor 5
, se omite y se continúa con la siguiente iteración del bucle externo, lo que resulta en la omisión completa de la segunda fila en la matriz.
La sentencia continue
es una herramienta poderosa en PHP para controlar el flujo de ejecución dentro de los bucles. En bucles anidados, continue
puede utilizarse con un argumento para especificar cuántos niveles de bucle deben saltarse. Esta funcionalidad es útil para manejar casos complejos en los que necesitas omitir ciertas iteraciones basadas en condiciones específicas. Con los ejemplos y explicaciones proporcionadas, ahora deberías tener una comprensión sólida de cómo utilizar continue
en tus propios proyectos PHP.
Jorge García
Fullstack developer