Instrução Continue
Parte da seção Fundamentos do Journey de PHP da Coddy. Lição 52 de 71.
Enquanto o break sai de um loop completamente, às vezes você só quer pular a iteração atual e prosseguir para a próxima. É exatamente isso que a instrução continue faz.
Quando o PHP encontra continue, ele imediatamente pula para a próxima iteração do laço, ignorando qualquer código restante na iteração atual.
<?php
for ($i = 1; $i <= 5; $i++) {
if ($i === 3) {
continue;
}
echo $i . "\n";
}
?>Isso produz:
1
2
4
5Observe que 3 está faltando. Quando $i é igual a 3, a instrução continue pula o echo e vai diretamente para a próxima iteração onde $i se torna 4.
Um caso de uso comum é filtrar valores indesejados ao processar um array:
<?php
$numbers = [10, -5, 8, -3, 12];
foreach ($numbers as $num) {
if ($num < 0) {
continue;
}
echo $num . "\n";
}
?>Isso imprime apenas os números positivos: 10, 8 e 12. Os valores negativos são ignorados, mas o loop continua executando por todos os elementos.
A principal diferença: break interrompe o loop completamente, enquanto continue apenas pula para a próxima iteração.
Desafio
FácilLeia duas linhas de entrada:
- Uma lista de inteiros separados por vírgulas (por exemplo,
3,7,12,5,8,20,15) - Um número divisor
Use um loop foreach para iterar pelo array. Use continue para ignorar quaisquer números que sejam divisíveis pelo divisor fornecido. Imprima todos os outros números, cada um em uma linha separada.
Exemplo 1:
Se as entradas forem 1,2,3,4,5,6,7,8,9,10 e 3, a saída deverá ser:
1
2
4
5
7
8
10(Os números 3, 6 e 9 são ignorados porque são divisíveis por 3)
Exemplo 2:
Se as entradas forem 10,15,20,25,30 e 5, a saída deverá ser:
(Todos os números são divisíveis por 5, então nada é impresso)
Exemplo 3:
Se as entradas forem 7,14,21,10,5 e 7, a saída deverá ser:
10
5Experimente você mesmo
<?php
// Ler entrada
$input = trim(fgets(STDIN));
$divisor = intval(trim(fgets(STDIN)));
// Converter string separada por vírgulas em array de inteiros
$numbers = array_map('intval', explode(',', $input));
// TODO: Escreva seu código abaixo
// Use um loop foreach para iterar através de $numbers
// Use continue para pular números divisíveis por $divisor
// Imprima todos os outros números, cada um em uma linha separada
?>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
4Operadores de Comparação e Lógicos
Operadores de ComparaçãoIgualdade e IdentidadeOperadores Lógicos - Parte 1Operadores Lógicos - Parte 2Revisão - Lógica Simples2Variáveis e Tipos de Dados
NúmerosStrings e AspasBooleanosConvenções de NomenclaturaRevisão - Inicialização de VariáveisVariáveis VaziasConcatenação de StringsObtendo Entrada do UsuárioConversão para Diferentes Tipos5Lógica Condicional
Instrução IfIf - ElseO Operador TernárioOperador de Coalescência NulaInstrução SwitchRecapitulação - Tomando Decisões8Laços de Repetição
Laço ForLaço WhileLaço ForeachRepetição com Chaves e ValoresInstrução BreakInstrução ContinueRecapitulação - Iterando sobre Dados3Operadores Básicos
Operadores AritméticosOperador MóduloOperador de ExponenciaçãoAtribuição CombinadaIncremento/DecrementoPrecedência de OperadoresRevisão - Cálculos SimplesOperadores de StringPratique por conta própria: Compilador de PHP online