คำสั่งวนรอบ

คำสั่ง 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,