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
$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
$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
$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
}
?>
Tulis gelung yang memaparkan hanya
nombor genap dari 1 hingga 100,
melangkau nombor ganjil menggunakan continue.