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