Menu
Coddy logo textTech

Sentencia continue

Parte de la sección Fundamentos del Journey de PHP de Coddy — lección 52 de 71.

Si bien break sale completamente de un bucle, a veces solo quieres omitir la iteración actual y pasar a la siguiente. Eso es exactamente lo que hace la sentencia continue.

Cuando PHP encuentra continue, salta inmediatamente a la siguiente iteración del bucle, omitiendo cualquier código restante en la iteración actual.

<?php
for ($i = 1; $i <= 5; $i++) {
    if ($i === 3) {
        continue;
    }
    echo $i . "\n";
}
?>

Esto produce:

1
2
4
5

Observa que falta el 3. Cuando $i es igual a 3, la instrucción continue omite el echo y pasa directamente a la siguiente iteración donde $i se convierte en 4.

Un caso de uso común es filtrar valores no deseados mientras se procesa un array:

<?php
$numbers = [10, -5, 8, -3, 12];

foreach ($numbers as $num) {
    if ($num < 0) {
        continue;
    }
    echo $num . "\n";
}
?>

Esto imprime solo los números positivos: 10, 8 y 12. Los valores negativos se omiten, pero el bucle sigue ejecutándose a través de todos los elementos.

La diferencia clave: break detiene el bucle por completo, mientras que continue solo omite a la siguiente iteración.

challenge icon

Desafío

Fácil

Lee dos líneas de entrada:

  1. Una lista separada por comas de enteros (p. ej., 3,7,12,5,8,20,15)
  2. Un número divisor

Usa un bucle foreach para iterar a través del array. Usa continue para omitir cualquier número que sea divisible por el divisor dado. Imprime todos los demás números, cada uno en una línea separada.

Ejemplo 1:

Si las entradas son 1,2,3,4,5,6,7,8,9,10 y 3, la salida debería ser:

1
2
4
5
7
8
10

(Los números 3, 6 y 9 se omiten porque son divisibles por 3)

Ejemplo 2:

Si las entradas son 10,15,20,25,30 y 5, la salida debería ser:

(Todos los números son divisibles por 5, por lo que no se imprime nada)

Ejemplo 3:

Si las entradas son 7,14,21,10,5 y 7, la salida debería ser:

10
5

Hoja de referencia

La instrucción continue omite la iteración actual de un bucle y pasa a la siguiente, sin salir completamente del bucle.

Ejemplo básico con bucle for:

<?php
for ($i = 1; $i <= 5; $i++) {
    if ($i === 3) {
        continue;
    }
    echo $i . "\n";
}
?>

Esto produce 1, 2, 4, 5 (omitiendo 3).

Usando continue con foreach para filtrar valores de array:

<?php
$numbers = [10, -5, 8, -3, 12];

foreach ($numbers as $num) {
    if ($num < 0) {
        continue;
    }
    echo $num . "\n";
}
?>

Esto imprime solo números positivos (10, 8, 12), omitiendo valores negativos.

Diferencia clave: break sale completamente del bucle, mientras que continue solo omite hasta la siguiente iteración.

Pruébalo tú mismo

<?php
// Leer entrada
$input = trim(fgets(STDIN));
$divisor = intval(trim(fgets(STDIN)));

// Convertir cadena separada por comas a array de enteros
$numbers = array_map('intval', explode(',', $input));

// TODO: Escribe tu código a continuación
// Usa un bucle foreach para iterar a través de $numbers
// Usa continue para saltar números divisibles por $divisor
// Imprime todos los otros números, cada uno en una línea separada

?>
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos