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
5Observa 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.
Desafío
FácilLee dos líneas de entrada:
- Una lista de enteros separados por comas (por ejemplo,
3,7,12,5,8,20,15) - Un número divisor
Usa un bucle foreach para recorrer el arreglo. Usa continue para omitir cualquier número divisible por el divisor indicado. 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
5Prué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
?>Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparaciónIgualdad e identidadOperadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simple2Variables y tipos de datos
NúmerosCadenas y comillasBooleanosConvenciones de nombresRepaso: inicialización de variablesVariables vacíasConcatenación de cadenasObtener datos del usuarioConvertir a otros tipos5Lógica condicional
Sentencia ifIf - ElseEl operador ternarioOperador de coalescencia nulaSentencia switchRepaso - Tomar decisiones3Operadores básicos
Operadores aritméticosOperador móduloOperador de exponenciaciónAsignación combinadaIncremento/DecrementoPrecedencia de operadoresRepaso: cálculos simplesOperadores de cadenasPractica por tu cuenta: Compilador de PHP online