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 айнымалысын экранға шығару орындалады, бұл біздің мәселе шарты бойынша қажет емес.

Мәселені түзету үшін, біздің if-қа тағы бір else шартын қосамыз, ол 2 және 3-ге бөлінбейтін элементтер үшін орындалады, және сол жерде 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

1-ден 100-ге дейінгі тек жұп сандарды шығаратын цикл жазыңыз, тақ сандарды continue көмегімен өткізіп жіберіңіз.