Executando verificação de segurança...
2

Comandos PHP continue, break e exit

Introdução

Quando usamos extruturas de repetição (loops), muitas vezes temos a necessidade de saltar o processamento de um item, ou até mesmo interromper o loop se alguma condição se comprir. É nestes casos que os comandos de controle de loops (continue, break e exit), no contexto do php se tornam valiosos.

Descrição

contiue - continue é usado em estruturas de repetição para pular o restante da iteração actual do loop e continuar a execução na validação da condição e depois no início da próxima iteração.

break - finaliza a execução da estrutura for, foreach, while, do-while ou switch actual.

exit - Termina o script actual com um código ou uma mensagem de status.

Exemplos

No exemplo abaixo quando se cumpri$feeling == 'hope' o loop se repete sem executar a expressão ou expressões a baixo.

$feelings = ['love', 'hope', 'heppy'];

foreach($feelings as $feeling) {
    if($feeling == 'hope') continue;
    echo $feeling . PHP_EOL;
}

// Resultado
love
heppy

Se o que se quer é interromper é o loop actual se usária o comandobreak como mostrado abaixo.

$feelings = ['love', 'hope', 'heppy'];

foreach($feelings as $feeling) {
    if($feeling == 'hope') break;
    echo $feeling . PHP_EOL;
}

// Resultado
love

Existem situações como a que consiste em percorrer um array bidimensional ou tridimensional.
Nestes casos se se quer apenas interromper o loop interno podes usar o comando break, mas se o intento for parar todo loop use exit, como demostrado a baixo.

$lists = [
    ['love', 'hope', 'heppy'],
    ['Apple', 'orange', 'pineapple'],
    ['Math', 'Physic', 'GIS']
];

foreach($lists as $key => $list) {
    foreach($list as $index => $item) {
        if($index == 1) break;
        echo $item . PHP_EOL;
    }
    echo PHP_EOL;
}
// Resultado
love

Apple

Math

ou

foreach($lists as $key => $list) {
    foreach($list as $index => $item) {
        if($index == 1) exit;
        echo $item . PHP_EOL;
    }
    echo PHP_EOL;
}
// Resultado
love

Fontes

PHP: continue
PHP: break
PHP: exit

Carregando publicação patrocinada...
1

São realmente muito úteis, mas, com quase 10 anos de estudo de PHP, não me lembro a última vez que vi alguém utilizar rsrsrs. Já em PL/pgSQL, o mesmo conceito é utilizado a todo momento dentro de triggers, procedures e funções, por exemplo. Parabéns pelo post

0