A palavra-chave break é usada para encerrar a execução prematuramente. Em outras palavras, é usado para pular fora de um loop.
Break significa “parar ou brecar” em português.
Break
Exemplos 01
O exemplo a seguir ilustra como usar break em um laço for:
<?php
for ($i = 0; $i <= 100; $i++ ) {
echo "$i, ";
if ($i == 10)
break;
}
?>
O resultado será: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
O laço for executaria do 0 ao 100, mas como chega no 10 ocorre um break.
O if do comando acima não precisa das chaves “{ }” pois existe somente uma linha abaixo. Lembre-se que as chaves são para blocos ou várias linhas. Isso vale para todos os outros comandos que usem chaves.
Podemos fazer o mesmo teste acima nos outros tipos de laços de repetição: while e do…while e até no foreach.
Usando break para sair de um loop aninhado(um loop/laço dentro de outro)
Podemos usar break para brecar um loop que está dentro de outro.
<?php
for ($i = 1; $i <= 4; $i++ ) {
for ($x=10; $x <= 15; $x++) {
if($i==2)
break;
echo "($i, $x) <br>";
}
}
?>
O resultado será:
(1, 10)
(1, 11)
(1, 12)
(1, 13)
(1, 14)
(1, 15)
(3, 10)
(3, 11)
(3, 12)
(3, 13)
(3, 14)
(3, 15)
(4, 10)
(4, 11)
(4, 12)
(4, 13)
(4, 14)
(4, 15)
Usando break para sair de um loop aninhado(um loop/laço dentro de outro)
No exemplo acima o break encerra o bloco filho mas volta para o bloco pai. Para os dois laços usamos break 2. Se tivesse mais 3 laços aninhados(um dentro do outro) usaríamos “break 3” e assim por diante.
O break 2 encerra os loops internos e externos.
<?php
for ($i = 1; $i <= 4; $i++ ) {
for ($x=10; $x <= 15; $x++) {
if($i==2)
break 2;
echo "($i, $x) <br>";
}
}
?>
O resultado será:
(1, 10)
(1, 11)
(1, 12)
(1, 13)
(1, 14)
(1, 15)
Continue
continue é usado dentro de um loop, como for, while ou do…while, para interromper/pular a iteração atual de um loop, mas sem encerrá-lo.
Assim como break, continue também aceita um número para especificar a quantidade de níveis de loops aninhados que serão ignorados.
Exemplo 1:
<?php
for ($x=1; $x <= 7; $x++) {
if($x==2) continue;
echo "$x <br>";
}
?>
O resultado será:
1
3
4
5
6
7
perceba que o 2 não consta
Exemplo 2:
Abaixo vamos ver um exemplo onde é impresso na tela somente os números ímpares. É usado o operador módulo(%) que pega somente o resto de uma divisão.
<?php
for ($i = 1; $i <= 10; $i++ ) {
if($i%2 == 0) continue;
echo "$i, ";
}
?>
O resultado será: 1, 3, 5, 7, 9,
Exemplo 2:
Abaixo um exemplo mais complexo onde colocamos dois loops, um dentro de outro.
<?php
for ($i = 1; $i <= 4; $i++ ) {
for ($x=10; $x <= 15; $x++) {
if($i==2)
continue;
echo "($i, $x) <br>";
}
}
?>
O resultado será:
(1, 10)
(1, 11)
(1, 12)
(1, 13)
(1, 14)
(1, 15)
(3, 10)
(3, 11)
(3, 12)
(3, 13)
(3, 14)
(3, 15)
(4, 10)
(4, 11)
(4, 12)
(4, 13)
(4, 14)
(4, 15)
Exemplo 3:
<?php
for ($i = 1; $i <= 4; $i++ ) {
for ($x=1; $x <= 7; $x++) {
if($x==2)
continue 2;
echo "($i)($x) <br>";
}
}
?>
O resultado será:
(1)(1)
(2)(1)
(3)(1)
(4)(1)
Conclusão
Em PHP, Break é utilizado para interromper completamente um laço de repetição, enquanto continue é utilizado para interromper apenas a iteração atual e continuar com a próxima.