คำสั่ง while จัดเป็นคำสั่งที่ใช้ในการควบคุมการทำงานของโปรแกรมประเภทการวนลูป โดยที่หลักการทำ งานของมันก็คือว่ามันจะทำการตรวจสอบเงื่อนไขใน while(condition) ถ้าเงื่อนไขเป็นจริง โปรแกรมก็จะเข้ามาทำงานภายในบล็อกคำสั่ง while เราไปดูตัวอย่างกันเลยครับ
<?php
$total = 0;
$i = 1;
// ถ้าเงื่อนไขเป็นจริงก็จะเข้าไปทำงานในบล็อกนี้
while ($i <= 10) {
$total += $i;
// ก่อนที่จะวนลูปอีกรอบ เราต้องทำการเปลี่ยนแปลงค่าที่จะนำไปตรวจสอบเงื่อนไขด้วย มิฉะนั้นมันจะเกิด overflow
$i++;
}
?>
ตัวอย่าง expression อีกรูปแบบหนึ่งในการใช้งานคำสั่งwhile
<?php $total = 0; $i = 1; while ($i <= 10): $total += $i; $i++; endwhile; ?>
เราสามารถสั่งให้มันหยุดทำการวนลูปได้ โดยการใช้ keyword break ดังนี้
<?php
$i = 0;
while ($i <= 10) {
if ($i == 5) {
break;
}
$total += $i;
$i++;
}
?>
ในกรณีที่เราทำการสร้างลูป (loop) ที่ซ้อนกัน เราก็สามารถสั่งให้มันหยุดการทำงาน ในลูปแม่ก็ได้ โดยใส่ตัวเลขลำดับของลูปลงไป เช่น
<?php
$i = 0;
while ($i < 10) {
while ($j < 10) {
if ($j == 5) {
break 2; // สั่งให้ออกนอกลูปในลูปที่สองนับจากลูปปัจจุบัน (นั่นก็คือลูปแรกนั่นเอง)
}
$j++;
}
$i++;
}
echo $i;
echo $j;
// 0
// 5
?>
นอกจากนี้เราก็สามารถสั่งให้โปรแกรมทำการข้ามลูปนั้น ๆ ไปทำในรอบต่อไปได้ โดยใช้ keyword continue ได้ดังนี้
<?php
while ($i < 10) {
$i++;
while ($j < 10) {
if ($j == 5) {
continue 2; // สั่งให้ไปทำรอบต่อไปในลูปที่ 2 นับจากลูปนี้เลย
}
$j++;
}
}
?>
ผู้สนับสนุน