Estruturas de Controle
PHP Manual

continue

(PHP 4, PHP 5, PHP 7)

continue é utilizado em estruturas de laço para pular o resto da iteração atual, e continuar a execução na validação da condição e, então, iniciar a próxima iteração.

Nota: No PHP a instrução switch é considerado uma estrutura de laço para os propósitos do continue. O continue se comporta como o break (quando nenhum argumento é passado). Se um switch está dentro de um laço, continue 2 irá continuar a próxima interação do laço externo.

O continue aceita um argumento numérico opcional que diz quantos níveis de laços aninhados deve pular. O valor padrão é 1, saltando para o final do laço atual.

<?php
while (list($key$value) = each($arr)) {
    if (!(
$key 2)) { // pula membros 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";
}
?>

Omitir o ponto e vírgula depois do continue pode causar confusão. Abaixo está um exemplo do que não se deve fazer.

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

O resultado esperado poderia ser:

0
1
3
4

mas em versões do PHP inferiores a 5.4.0, o script imprimirá:

2

porque todo o código continue print "$i\n"; é avaliado como uma só expressão, então o print é chamado somente quando $i == 2 for verdadeiro. (O retorno do print é passado para o continue como o argumento numérico.)

Nota:

A partir do PHP 5.4.0, o exemplo acima irá causar um erro do tipo E_COMPILE_ERROR.

Lista de modificações do continue
Versão Descrição
5.4.0 continue 0; não é mais válido. Em versões anteriores era interpretado como continue 1;.
5.4.0 Removida a possibilidade de passar variáveis como argumento (ex., $num = 2; continue $num;).


Estruturas de Controle
PHP Manual