W3docs

continue

Aprenda a usar a palavra-chave "continue" em PHP para pular iterações de loops e tornar seu código mais eficiente e legível.

A Palavra-chave PHP "continue": Um Guia Completo

Como desenvolvedor PHP, você provavelmente já usou loops para iterar sobre arrays ou executar outras tarefas. A palavra-chave continue é uma estrutura de controle em PHP que salta imediatamente para a próxima iteração quando uma condição especificada é atendida. Neste artigo, exploraremos a sintaxe e o uso da palavra-chave continue em profundidade, com exemplos práticos para ajudá-lo a dominar esse importante recurso do PHP.

Sintaxe

A palavra-chave continue é usada para pular a iteração atual e avançar para a próxima em PHP. Aqui está a sintaxe básica para usar a palavra-chave continue em PHP:

A sintaxe do PHP continue

continue;

Neste exemplo, a palavra-chave continue pula a iteração atual e avança para a próxima.

Exemplos

Vamos ver alguns exemplos práticos de como a palavra-chave "continue" pode ser usada:

Exemplos de PHP continue

<?php

// Example 1
for ($i = 0; $i < 10; $i++) {
  if ($i == 5) {
    continue;
  }
  echo $i . PHP_EOL;
}

// Output: 0 1 2 3 4 6 7 8 9

// Example 2
$myArray = ["apple", "banana", "cherry", "date"];
foreach ($myArray as $value) {
  if ($value == "cherry") {
    continue;
  }
  echo $value . PHP_EOL;
}

// Output: apple banana date

Nesses exemplos, a palavra-chave continue ignora iterações específicas quando uma condição é atendida.

Uso Avançado e Comparações

Pulando Loops Aninhados

Por padrão, continue afeta apenas o loop mais interno. Para pular iterações de um loop externo, passe um argumento numérico opcional que indica ao PHP quantos níveis de loops encapsuladores aplicar o continue:

<?php

for ($i = 1; $i <= 3; $i++) {
  for ($j = 1; $j <= 3; $j++) {
    if ($j == 2) {
      continue 2; // skip to the next iteration of the OUTER loop
    }
    echo "i=$i, j=$j" . PHP_EOL;
  }
}

// Output:
// i=1, j=1
// i=2, j=1
// i=3, j=1

Como continue 2 salta para a próxima iteração do loop externo, o loop interno nunca chega a $j == 3. Um continue simples (ou continue 1) apenas pularia a iteração interna atual e o loop interno ainda imprimiria j=3.

continue vs break

Iniciantes frequentemente confundem essas duas estruturas de controle. Enquanto continue pula a iteração atual e avança para a próxima, break encerra imediatamente o loop inteiro. Use continue para filtrar itens dentro de um loop, e break para sair antecipadamente assim que você encontrar o que precisa.

<?php

foreach ([1, 2, 3, 4, 5] as $n) {
  if ($n == 3) {
    continue; // skip 3, keep looping
  }
  echo $n . PHP_EOL;
}
// Output: 1 2 4 5

foreach ([1, 2, 3, 4, 5] as $n) {
  if ($n == 3) {
    break;    // stop the loop at 3
  }
  echo $n . PHP_EOL;
}
// Output: 1 2

Um erro comum: continue dentro de switch

Dentro de uma instrução switch, continue se comporta como break e apenas sai do switch. O PHP até emite um aviso. Quando você está dentro de um loop e de um switch e deseja pular a iteração do loop, use continue 2:

<?php

foreach (["save", "skip", "delete"] as $action) {
  switch ($action) {
    case "skip":
      continue 2; // skip this loop iteration, not just the switch
    default:
      echo "Handling: $action" . PHP_EOL;
  }
}

// Output:
// Handling: save
// Handling: delete

Benefícios

O uso da palavra-chave continue traz vários benefícios, incluindo:

  • Maior eficiência do código: ajuda a ignorar iterações desnecessárias, tornando o código mais eficiente.
  • Lógica simplificada: permite lidar com filtragem condicional diretamente dentro do loop, reduzindo a necessidade de blocos complexos de if-else aninhados.

Conclusão

Em conclusão, a palavra-chave continue é uma ferramenta poderosa para desenvolvedores PHP, permitindo ignorar iterações específicas de loops e melhorar a eficiência e a legibilidade do código. Lembre-se de que ela funciona em todos os tipos de loop — for, foreach, while e do...while — e que o argumento de nível opcional (continue 2) é o que permite alcançar loops aninhados.

Tópicos Relacionados

Prática

Prática
Qual é o propósito da instrução 'continue' em PHP?
Qual é o propósito da instrução 'continue' em PHP?
Was this page helpful?