Instrução continue em PHP

Além da instrução break, que termina a execução de um loop, também existe a instrução continue, que inicia uma nova iteração do loop. Essa instrução às vezes pode ser útil para simplificar o código, embora quase sempre seja possível resolver o problema sem ela. Vamos ver um exemplo prático.

Suponha que temos um array com números. Vamos iterá-lo com um loop e elevar ao quadrado os números divisíveis por 2, exibindo-os na tela, e os números divisíveis por 3, elevaremos ao cubo e exibiremos na tela.

Aqui está a solução para a tarefa descrita:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  
  foreach ($arr as $elem) {
    if ($elem % 2 === 0) {
      $res = $elem * $elem;
      echo $res;
    } elseif ($elem % 3 === 0) {
      $res = $elem * $elem * $elem;
      echo $res;
    }
  }
?>

Como você pode ver, a linha echo $res se repete duas vezes. Vamos colocá-la fora do if, assim:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  
  foreach ($arr as $elem) {
    if ($elem % 2 === 0) {
      $res = $elem * $elem;
    } elseif ($elem % 3 === 0) {
      $res = $elem * $elem * $elem;
    }
    
    echo $res; // colocou a exibição fora da condição
  }
?>

No entanto, agora nosso script funciona um pouco diferente: acontece que para elementos comuns, não processados pelo nosso if, será executada a exibição da variável $res na tela, o que, pelas condições da nossa tarefa, não é necessário.

Vamos corrigir o problema, adicionando ao nosso if mais uma condição else, que será acionada para elementos não divisíveis por 2 e 3, e chamaremos a instrução continue nela, que imediatamente nos levará para uma nova iteração do loop:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  
  foreach ($arr as $elem) {
    if ($elem % 2 === 0) {
      $res = $elem * $elem;
    } elseif ($elem % 3 === 0) {
      $res = $elem * $elem * $elem;
    } else {
      continue; // vamos para uma nova iteração do loop
    }
    
    echo $res; // será executado se for divisível por 2 ou 3
  }
?>
Задание 1

Escreva um loop que exiba apenas números pares de 1 a 100, ignorando os ímpares usando continue.