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: