PHP에서 continue 명령문

루프의 작동을 완전히 종료하는 break 명령문 외에도, 루프의 다음 반복을 시작하게 하는 continue 명령문이 있습니다. 이 명령문은 때로 코드를 단순화하는 데 유용할 수 있지만, 사실상 대부분의 문제는 이것 없이도 해결할 수 있습니다. 실용적인 예시를 살펴보겠습니다.

숫자 배열이 주어졌다고 가정해 봅시다. 이 배열을 루프로 순회하며, 2로 나누어지는 숫자는 제곱하여 화면에 출력하고, 3로 나누어지는 숫자는 세제곱하여 화면에 출력해 봅시다.

다음은 설명된 문제의 해결책입니다:

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;
    }
  }
?>

보시다시피, echo $res 줄이 두 번 반복됩니다. 이 줄을 if 블록 밖으로 빼내어 보겠습니다.

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; // 조건문 바깥으로 출력을 이동함
  }
?>

그러나 이제 우리의 스크립트는 약간 다르게 작동합니다: 우리의 if 블록으로 처리되지 않은 일반 요소들에 대해서도 변수 $res를 화면에 출력하는 작업이 수행될 것이며, 이는 문제의 조건에 필요하지 않습니다.

이 문제를 해결하기 위해, 2와 3로 나누어지지 않는 요소에 대해 작동하는 else 조건을 if에 추가하고, 그 안에서 즉시 루프의 다음 반복으로 이동시키는 continue 명령문을 호출하겠습니다:

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; // 루프의 새 반복으로 이동
    }
    
    echo $res; // 2 또는 3으로 나누어질 경우에만 실행됨
  }
?>
Задание 1

continue를 사용하여 홀수를 건너뛰고, 1부터 100까지의 짝수만 출력하는 루프를 작성하세요.