Como Usar BREAK e CONTINUE no PHP (Pare ou Pule Loops como um Sênior)

🚀 O que você vai aprender nesta aula:

  • O que é o comando BREAK e como usá-lo para evitar processamento inútil.
  • Como o CONTINUE ajuda a pular iterações e limpar seu código de IFs gigantes.
  • A diferença prática (e visual) entre interromper e pular rodadas de um loop.
  • Dica Sênior: Como parar laços aninhados (um dentro do outro) de uma vez só.

Fala, dev! Agora que você já sabe criar laços de repetição (como FOR e WHILE), você ganhou o poder de automatizar tarefas. Mas, como diz o ditado: com grandes poderes, vêm grandes responsabilidades.

E se você precisar parar um laço pela metade porque já encontrou o que procurava? Ou se quiser ignorar um item específico da lista e pular direto para o próximo? É aí que entram os super-heróis do controle de fluxo: break e continue.

Comando break e continue em PHP

O que é o comando BREAK em PHP?

O comando break no PHP serve para encerrar imediatamente a execução de um laço de repetição (WHILE, FOR, FOREACH ou DO WHILE) ou estrutura condicional (SWITCH). Assim que o PHP lê a palavra "break", ele abandona o loop atual na mesma hora e continua executando o resto do programa.

Você já cruzou com ele na aula de SWITCH, mas nos loops ele ganha uma nova dimensão: a de otimização de performance.

Exemplo 1: Otimizando um laço FOR

Imagine que você tem uma lista de 1.000.000 de números e quer encontrar o primeiro número que seja múltiplo de 11 e de 13 ao mesmo tempo. Veja como o break salva o servidor de um colapso:

<?php
for ($count = 1; $count <= 1000000; $count++) {
    // Se for múltiplo de 11 e 13...
    if ($count % 11 == 0 && $count % 13 == 0) {
        echo "Achei! O número é o $count";
        break; // O loop PARA AQUI. Os outros números não serão testados!
    }
}
?>

⚠️ Pense bem: Sem o break, o PHP acharia a resposta no número 143, mas continuaria processando os outros 999.857 números à toa. Isso é o que chamamos de código ineficiente.

Exemplo 2: O Loop Infinito Controlado (WHILE true)

Muitas vezes, não sabemos quantas vezes o loop vai rodar até a condição ser atingida. Nesses casos, criamos um loop que "roda para sempre", mas o encerramos por dentro usando o break.

<?php
$count = 1;

while (true) { // Vai rodar para sempre?
    if ($count % 12 == 0 && $count % 21 == 0) {
        echo "O MMC entre 12 e 21 é: $count";
        break; // ...Não! O break garante a saída.
    }
    $count++;
}
?>
Apostila PHP Progressivo

Tempo é dinheiro. Aprenda do jeito certo. ⏳

Ficar caçando erros de loops infinitos ou tentar juntar pedaços de tutoriais desatualizados atrasa sua carreira. Se você quer economizar meses de estudo, precisa de um método sequencial e lógico.

A Apostila PHP Progressivo entrega exercícios resolvidos que moldam seu raciocínio lógico direto ao ponto.

Acelerar Meu Aprendizado →

O que é o comando CONTINUE em PHP?

O comando continue serve para interromper apenas a iteração (rodada) atual do loop, ignorando todo o código que está abaixo dele e pulando diretamente para a próxima avaliação do laço de repetição. O loop, no entanto, continua vivo.

Sabe aquele momento que você quer filtrar algo indesejado e apenas "passar reto"? É pra isso que ele serve.

Exemplo Prático: O Jogo do PIM

No clássico jogo do PIM, contamos os números, mas quando encontramos um múltiplo de 4, falamos "PIM" no lugar do número.

<?php
for ($count = 1; $count <= 20; $count++) {

    if ($count % 4 == 0) {
        echo "PIM <br>";
        continue; // Ignora o 'echo' lá embaixo e pula pro próximo número
    }

    echo "$count <br>";
}
?>

🛠️ Por que isso é profissional? O continue evita que você crie estruturas de if/else gigantes. Ele atua como uma cláusula de guarda: "Se for múltiplo de 4, imprima PIM, pule a rodada e nem olhe para o resto do código".

🔥 Dica Avançada (Conteúdo Sênior)

Em projetos reais, é comum termos loops dentro de loops (laços aninhados). O que acontece se você der um break; no loop de dentro? Ele só para o de dentro.

Mas o PHP permite que você diga quantos níveis quer quebrar ou pular usando break N; ou continue N;.

<?php
for ($i = 0; $i < 5; $i++) {
    for ($j = 0; $j < 5; $j++) {
        if ($i == 2 && $j == 2) {
            break 2; // Quebra os DOIS loops de uma vez!
        }
    }
}
?>

Isso é programação em alto nível!

Resumo: Qual usar e quando?

  • 🛑 Use BREAK quando: Você encontrou o dado que estava procurando (num banco de dados, num array) ou um erro crítico aconteceu e não faz sentido continuar verificando o resto.
  • ⏭️ Use CONTINUE quando: Você quer descartar itens inválidos ou aplicar regras específicas, mas precisa que o loop continue rodando até o final da fila.

Cuidado com os Erros de Principiante!

  • ⚠️ WHILE sem incremento + CONTINUE: Se você usar um continue dentro de um WHILE antes de incrementar o contador, o contador nunca vai subir e você criará um loop infinito travando a página.
  • ⚠️ Usar Break no lugar errado: Lembrar que ele aborta a missão. Não o use se a intenção for apenas pular um valor.

Nenhum comentário:

Veja também: