Gostou do nosso conteúdo? Te ajudou?
Nos ajude também! Faça um PIX, de qualquer valor:
programacao.progressiva@gmail.com

Comandos BREAK e CONTINUE em Laços

Neste tutorial de nosso curso de PHP, vamos te mostrar como usar os comandos BREAK e CONTINUEem laços e loopings em PHP.
Comando CONTINUE em PHP


Comando BREAK: Interrompendo laços

Já estudamos o break quando estudamos o teste condicional SWITCH, e vimos que ele serve para um propósito bem simples: interromper o SWITCH.

Ele também tem a mesma propriedade em laços como WHILE, DO WHILE e o FOR: quando o interpretador PHP encontra o comando BREAK, ele termina na hora, sumariamente, o laço que estiver sendo executado, sem dar tempo pra fazer mais nada.

O script abaixo, é em um laço WHILE, do tipo looping infinito, pois ele executa pra sempre.
O contador inicia em 1 e vai incrementando de um em um.

Ele só vai parar quando entrar um número que é múltiplo de 12 e 21, ao mesmo tempo.
Qual? Quando? Não sabemos, mas quando chegar lá, identificamos o número e damos um BREAK pra interromper o WHILE, veja:
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action= method="get">
  Tabuada do:  <input type="text" name="tab" /><br />
  <input type="submit" name="submit" value="Testar" />
 </form> 
 <?php 
  $count = 1;
  
  while(1){
   if($count%12==0 && $count%21==0){
    echo "$count";
    break;
   }
   $count++;
  }
 ?>
 </body>
</html>
Vamos supor que queiramos encontrar o primeiro múltiplo de 11 e 13, de 1 até 1 milhão, usando o laço FOR.

Vamos usar o comando BREAK para parar o laço, para que não seja necessário contar até 1 milhão:
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action= method="get">
  Tabuada do:  <input type="text" name="tab" /><br />
  <input type="submit" name="submit" value="Testar" />
 </form> 
 <?php 
  for($count=1; $count<=1000000; $count++){
   if($count%11==0 && $count%13==0){
    echo "Parei no $count";
    break;
   }
  }
 ?>
 </body>
</html>
Note que quando o número for múltiplo de 11 e 13 ao mesmo tempo (não sei quando vai ser isso, o computador que calcule), o laço vai parar, exibindo tal número.

O comando CONTINUE: Pulando iterações em PHP

O comando break tem uma peculiaridade: ele interrompe o laço, acaba com ele.

Porém, muitas vezes não queremos acabar com o laço, e sim com a ITERAÇÃO, o looping do momento, queremos pular para a próxima 'rodada' de código do laço.

Para isso, usamos o comando CONTINUE.
Quando o interpretador do PHP encontra o continue; no meio do caminho, ele encerra a iteração atual e pula pra próxima, inclusive executando a expressão de modificação.

Lembra daquela brincadeira do Silvio Santos, onde você tinha que ir contando os números e nos múltiplos de 4 falar PIM, assim:
1, 2, 3, PIM, 5, 6, 7, PIM, 9, 10, 11, PIM...

Basta colocarmos pra imprimir de 1 até 100.
Dentro do laço, colocamos um IF para verificar se é múltiplo de 4.

Se for, imprimimos PIM e damos um continue, para o laço continuar no próximo número, veja como fica nosso código:
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action= method="get">
  Tabuada do:  <input type="text" name="tab" /><br />
  <input type="submit" name="submit" value="Testar" />
 </form> 
 <?php 
  for($count=1; $count<=100; $count++){
   if($count%4==0){
    echo "PIM <br />";
    continue;
   }
   echo "$count <br />";
  }
 ?>
 </body>
</html>
O PHP sempre iria ganhar esse desafio com o Silvio Santos...claro, com um programador que tivesse estudado pelo PHP Progressivo.