(PHP 4, PHP 5)
continue se utiliza dentro de las estructuras iterativas para saltar el resto de la iteración actual del bucle y continuar la ejecución en la evaluación de la condición, y luego comenzar la siguiente iteración.
Nota: Tenga en cuenta que en PHP la sentencia switch se considera una estructura iterativa para los propósitos de continue.
continue acepta un argumento numérico opcional, que indica a cuántos niveles de bucles encerrados se ha de saltar al final. El valor por omisión es 1, por lo que salta al final del bucle actual.
<?php
while (list($clave, $valor) = each($arr)) {
if (!($clave % 2)) { // saltar los miembros impares
continue;
}
hacer_algo($valor);
}
$i = 0;
while ($i++ < 5) {
echo "Exterior<br />\n";
while (1) {
echo "Medio<br />\n";
while (1) {
echo "Interior<br />\n";
continue 3;
}
echo "Esto nunca se imprimirá.<br />\n";
}
echo "Ni esto tampoco.<br />\n";
}
?>
Omitir el punto y coma después del continue puede llevar a confusión. He aquí un ejemplo de lo que no se debe hacer.
<?php
for ($i = 0; $i < 5; ++$i) {
if ($i == 2)
continue
print "$i\n";
}
?>
Se esperaría que el resultado fuera:
0 1 3 4
pero la salida de este script será:
2
debido a que continue print "$i\n"; se evalúa completo como una sola expresión, y así print se llama solamente cuando $i == 2 es verdadero. (El valor de retorno de print es pasado a continue como el argumento numérico.)
Versión | Descripción |
---|---|
5.4.0 | continue 0; ya no es válido. En versiones anteriores era interpretado de la misma manera que continue 1;. |
5.4.0 | Se eliminó la posibilidad de pasar variables (por ejemplo, $num = 2; continue $num;) como el argumento numérico. |