Arahan continue dalam PHP

Selain arahan break yang menamatkan gelung, terdapat juga arahan continue yang memulakan lelaran baharu gelung. Arahan ini kadangkala boleh berguna untuk memudahkan kod, walaupun hampir semua masalah boleh diselesaikan tanpanya. Mari kita lihat contoh praktikal.

Katakan kita mempunyai array dengan nombor. Mari kita ulanginya dengan gelung dan nombor yang boleh dibahagi dengan 2, kita kuasa duakan dan paparkan pada skrin, dan nombor yang boleh dibahagi dengan 3, kita kuasa tigakan dan paparkan pada skrin.

Berikut adalah penyelesaian kepada masalah yang diterangkan:

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

Seperti yang anda lihat, baris echo $res diulang dua kali. Mari kita keluarkannya dari if, seperti ini:

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; // mengeluarkan paparan dari kondisi
  }
?>

Walau bagaimanapun, sekarang skrip kami berfungsi sedikit berbeza: ternyata untuk elemen biasa, yang tidak diproses melalui if kami, pembolehubah $res akan dipaparkan pada skrin, yang menurut kondisi masalah kami tidak perlu kita lakukan.

Mari betulkan masalah ini dengan menambahkan kepada if kami satu kondisi else lagi, yang akan berlaku untuk elemen yang tidak boleh dibahagi dengan 2 dan 3, dan panggil arahan continue di sana, yang serta-merta akan membawa kami kepada lelaran baharu gelung:

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; // beralih ke lelaran gelung seterusnya
    }
    
    echo $res; // akan dilaksanakan jika boleh dibahagi dengan 2 atau 3
  }
?>
Задание 1

Tulis gelung yang memaparkan hanya nombor genap dari 1 hingga 100, melangkau nombor ganjil menggunakan continue.