คำสั่งวนรอบ
คำสั่ง while loop
คำสั่ง While loop คือคำสั่งวนซ้ำที่พื้นฐานที่สุดในภาษา PHP มันใช้สำหรับควบคุมการทำงานของโปรแกรมให้ทำงานซ้ำๆ ภายใต้เงือนไขที่กำหนด นี่เป็นรูปแบบของการใช้งานคำสั่ง While loop ในภาษา PHP
while (expression)
statements
<?php
$i = 1;
while ($i <= 10) {
echo "$i\n";
$i++;
}
?>
ในการทำงานของคำสั่ง While loop จะทำงานในขณะที่ expression เป็นจริง ซึ่ง statements เป็นคำสั่งภายในบล็อคของ While loop ที่อาจจะประกอบไปด้วยหนึ่งหรือหลายคำสั่ง มาดูตัวอย่างการใช้งานคำสั่ง While loop ในภาษา PHP
ในตัวอย่างเป็นการใช้คำสั่ง While loop ในการแสดงผลตัวเลขจาก 1 - 10 ตัวแปร $i เป็นตัวแปรกำหนดค่าเริ่มต้นในการทำงาน และ $i <= 10 เป็นเงือนไขของคำสั่งวนซ้ำ ซึ่งหมายความว่าโปรแกรมจะทำงานในบล็อคของคำสั่งถ้าหากค่าของ $i น้อยกว่าหรือเท่ากับ 10 ในบล็อคของคำสั่ง While loop เราแสดงผลตัวเลขและเพิ่มค่า $i ในแต่ละรอบ
ต่อไปมาดูตัวอย่างเพิ่มเติมกับการใช้คำสั่ง While loop ซึ่งเราจะสร้างนาฬิกานับถอยหลังสำหรับการปีใหม่
<?php
$i = 20;
$count_by = 2;
while ($i >= 0) {
echo "Count down $i\n";
$i -= $count_by;
}
echo "Happy New Year 2020.\n";
?>
ในตัวอย่าง เป็นโปรแกรมสำหรับนับถอยหลังเพื่อฉลองปีใหม่ที่กำลังจะมาถึง ตัวแปร $i เป็นค่าเริ่มต้นของการนับ และ $count_by สำหรับการนับค่าลงทีละของการนับ เงือนไขในคำสั่ง While loop คือ $i >= 0 เราจะทำการนับถ้าหากการนับยังไม่ถึง 0 ในแต่ละรอบเราลดค่าของตัวแปร $i ด้วยคำสั่ง $i -= $count_by ซึ่งเป็นการลดลงที่ละ 2
คำสั่ง do while loop
คำสั่ง Do while loop นั้นมีการทำงานคล้ายกับคำสั่ง While loop แต่สิ่งที่แตกต่างคือในคำสั่ง Do while loop จะทำงานภายใน Loop ก่อนอย่างน้อยหนึ่งรอบและตรวจสอบเงือนไขในภายหลัง นี่เป็นรูปแบบของการใช้งานคำสั่ง Do while loop ในภาษา PHP
do {
statements
} while (expression);
<?php
do {
$number = rand(0, 8);
echo "Random number $number\n";
} while ($number != 0);
?>
ในตัวอย่าง เป็นการใช้คำสั่ง Do while loop ในการสุ่มตัวเลขระหว่าง 0 - 8 และโปรแกรมจะทำงานใน Loop ในขณะที่ค่าที่สุ่มได้ไม่ใช่ 0 ในเงื่อนไข $number != 0
คำสั่ง for loop
คำสั่ง For loop คือคำสั่งวนซ้ำที่มีการทำงานในจำนวนรอบที่แน่นอน ซึ่งสามารถกำหนดค่าเริ่มต้น เงื่อนไข และการเปลี่ยนแปลงไว้ที่เดียวกันในตอนต้นของ Loop ทำให้การเขียนโปรแกรมสั้นและกระทัดรัดขึ้น นี่เป็นรูปแบบของการใช้งานคำสั่ง For loop ในภาษา PHP
for (initializing; expression; updating)
statements
initializing เป็นการกำหนดค่าเริ่มต้นสำหรับการทำงานของ
Loop expression เป็นเงื่อนไขที่จะให้ทำงานภายใน
Loop updating เป็นการเปลี่ยนแปลงของข้อมูลเมื่อเสร็จการทำงานแต่ละรอบของ Loop มาดูตัวอย่างการใช้งานคำสั่ง For loop ในภาษา PHP
<?php
for ($i = 1; $i <= 10; $i++) {
echo "$i, ";
}
echo "\n";
for ($i = 0; $i <= 50; $i += 5) {
echo "$i, ";
}
echo "\n";
for ($i = 10; $i >= -10; $i -= 2) {
echo "$i, ";
}
echo "\n";
?>
ในตัวอย่าง เป็นการใช้งานคำสั่ง For loop เพื่อแสดงตัวเลข ซึ่งคุณจะเห็นว่าเราได้กำหนดค่าเริ่มต้น เงือนไข และการเปลี่ยนแปลงในตอนต้นของ Loop ทำให้คำสั่ง For loop เป็นคำสั่งที่สะดวกและง่ายต่อการใช้งาน ในลูปแรกเป็นการแสดงตัวเลขตั้งแต่ 1 - 10 ลูปที่สองเป็นการแสดงตัวเลขตั้งแต่ 0 - 50 โดยเพิ่มค่าทีละ 5 และในลูปสุดท้าย เป็นการแสดงตัวเลขจาก 10 - -10 โดยลดค่าทีละ 2
1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50,
10, 8, 6, 4, 2, 0, -2, -4, -6, -8, -10,
<?php
// Finding summation between number m and n
$m = 10;
$n = 50;
$sum = 0;
for ($i = $m; $i <= $n; $i++) {
$sum += $i;
}
echo "Sum between $m to $n = $sum\n";
?>
ในตัวอย่าง เป็นการใช้คำสั่ง For loop ในการหาผลรวมของตัวเลขระหว่างตัวแปร $m และ $n ในแต่ละรอบเราจะบวกค่าของตัวเลขลงไปในตัวแปร $sum
Sum between 10 to 50 = 1230
คำสั่ง break
คำสั่ง break คือคำสั่งสำหรับในการควบคุมการทำงานของ Loop เพื่อให้หยุดการทำงานในทันที ซึ่งโดยปกติแล้วโปรแกรมจะทำงานใน Loop จนกว่าเงื่อนไขจะไม่เป็นจริง คุณสามารถใช้คำสั่ง break เพื่อบังคับให้โปรแกรมจบการทำงานจาก Loop ได้ มาดูตัวอย่างการใช้คำสั่ง ฺbreak ในภาษา PHP
<?php
for ($i = 1; $i <= 10; $i++) {
echo "$i, ";
if ($i == 5) {
break;
}
}
?>
ในตัวอย่าง เป็นโปรแกรมในการใช้คำสั่ง break เพื่อหยุดการทำงานเมื่อค่าของ $i เท่ากับ 5 ถึงแม้เงื่อนไขการทำงานของ Loop จะยังคงเป็นจริง แต่เมื่อโปรแกรมพบกับคำสั่ง break มันจะออกจาก Loop ในทันทีโดยไม่สนใจเงื่อนไขอีกต่อไป
1, 2, 3, 4, 5,
คำสั่ง continue
คำสั่ง continue คือสำหรับในการควบคุมการทำงานของ Loop เช่นเดียวกันกับคำสั่ง break แต่คำสั่ง continue จะข้ามการทำงานไปรอบต่อไปในทันที โดยที่ไม่สนใจคำสั่งการทำงานหลังจากมัน มาดูตัวอย่างการใช้งานของคำสั่ง continue ในภาษา PHP
<?php
for ($i = 1; $i <= 10; $i++) {
if ($i % 2 == 0) {
continue;
}
echo "$i, ";
}
?>
ในตัวอย่าง เราใช้คำสั่ง continue ในการบังคับให้โปรแกรมทำงานรอบต่อไปในทันทีเมื่อค่าของ $i นั้นเป็นเลขคู่ นั่นหมายความว่าคำสั่งหลังจากนั้น echo "$i, "; จะถูกข้ามการทำงานไป
1, 3, 5, 7, 9,