Instrução Break
Parte da seção Fundamentos do Journey de PHP da Coddy — lição 51 de 71.
Às vezes, você precisa sair de um laço mais cedo, antes que ele termine naturalmente. A instrução break permite que você faça exatamente isso — ela interrompe o laço imediatamente e continua com o código após ele.
Imagine procurando um valor específico em um array. Assim que você o encontra, não há motivo para verificar os elementos restantes. Usar break economiza iterações desnecessárias.
<?php
$numbers = [3, 7, 2, 9, 5, 1];
foreach ($numbers as $num) {
if ($num === 9) {
echo "Found 9!\n";
break;
}
echo "Checking $num\n";
}
echo "Search complete";
?>Isso produz:
Checking 3
Checking 7
Checking 2
Found 9!
Search completeObserve que 5 e 1 nunca são verificados. No momento em que o loop encontra 9, break sai do loop completamente, e a execução salta para "Search complete".
A instrução break funciona com todos os tipos de loop — for, while e foreach. É particularmente útil quando você está procurando algo ou quando uma determinada condição significa que o loop deve parar imediatamente.
Desafio
FácilLeia duas linhas de entrada:
- Uma lista de números separados por vírgula (ex.:
4,8,15,16,23,42) - Um número alvo para buscar
Use um loop foreach para buscar no array o número alvo. Quando encontrá-lo, imprima Found [target] at index [index]! e use break para sair do loop imediatamente.
Se o loop terminar sem encontrar o alvo, imprima [target] not found.
Dica: Use a sintaxe chave-valor no seu loop foreach para rastrear o índice.
Exemplo 1:
Se as entradas forem 10,25,30,45,50 e 30, a saída deve ser:
Found 30 at index 2!Exemplo 2:
Se as entradas forem 5,10,15,20,25 e 20, a saída deve ser:
Found 20 at index 3!Exemplo 3:
Se as entradas forem 1,2,3,4,5 e 99, a saída deve ser:
99 not foundFolha de consulta
A declaração break sai imediatamente de um loop e continua a execução com o código após o loop. Ela funciona com loops for, while e foreach.
Exemplo de uso do break para sair de um loop antecipadamente:
<?php
$numbers = [3, 7, 2, 9, 5, 1];
foreach ($numbers as $num) {
if ($num === 9) {
echo "Found 9!\n";
break;
}
echo "Checking $num\n";
}
echo "Search complete";
?>Saída:
Checking 3
Checking 7
Checking 2
Found 9!
Search completeUma vez que o break é executado, o loop para imediatamente e os elementos restantes não são processados.
Experimente você mesmo
<?php
// Lê a entrada
$numbers = explode(',', trim(fgets(STDIN)));
$target = trim(fgets(STDIN));
// TODO: Escreva seu código abaixo
// Use um loop foreach com sintaxe chave-valor para procurar o alvo
// Quando encontrado, imprima "Found [target] at index [index]!" e quebre
// Se não encontrado após o loop, imprima "[target] not found"
?>Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators