Características de continue en PHP

php características del uso continue

Compatibilidad PHP 4, PHP 5, PHP 7, PHP 8 +.

Se utiliza continue en bucles iterativos para omitir lo que sigue en el bucle iterativo, para continuar ejecutando el código de acuerdo con la condición adoptada en el bucle y luego pasar al comienzo del siguiente ciclo.

Se necesita continue un parámetro escalar opcional mediante el cual especificar el número de bucles circundantes que se deben cruzar hasta el final. El valor predeterminado es 1, lo que significa ir al final del ciclo actual.

Nota: switch en PHP, es una declaración de un ciclo iterativo cuando se habla de continue. Se comportan continue comportamiento break(en ausencia de transacciones). Si se usa switch dentro de un ciclo iterativo, el uso se continue 2 moverá al siguiente ciclo en el ciclo externo, veamos el siguiente ejemplo.

<?php
while (list($key, $value) = each($arr)) {
    if (!($key % 2)) {
 // Anular los números pares
        continue;
    }
    do_something_odd($value);
}

$i = 0;
while ($i++ < 5) {
    echo "Outer<br />\n";
    while (1) {
        echo "Middle<br />\n";
        while (1) {
            echo "Inner<br />\n";
            continue 3;
        }
        echo "This never gets output.<br />\n";
    }
    echo "Neither does this.<br />\n";
}
?>

Eliminar el punto y coma después de continue puede provocar algunos errores. A continuación, se muestra un ejemplo de lo que no debe hacer:

<?php
for ($i = 0; $i < 5; ++$i) {
    if ($i == 2)
        continue //mal tiene que ir ;
    print "$i\n";
}
?>

Puede esperar que el código anterior dé el siguiente resultado:

0
1
3
4

Sin embargo, el resultado de este código en versiones anteriores a la versión 5.4.0 es:

2

El lenguaje trata una expresión continue print "$i\n";como una sola expresión; Por lo tanto , la función se llamará print en un solo caso, que es cuando la expresión es verdadera $i == 2  está pasar el valor devuelto por la función print como una expresión numérica de parámetro continue.

Nota: Desde la versión 5.4.0, el ejemplo anterior arrojará un error de tipo E_COMPILE_ERROR.

Registro de cambios

AplicaciónFunción
5.4.0Ya no es continue 0;compatible con esta versión. En versiones anteriores, esta frase se interpretó como se interpretacontinue 1;‎
5.4.0Anule la capacidad de pasar variables como parámetros numéricos, por ejemplo:$num = 2; continue $num;‎