คำสั่งวนซ้ำในภาษา PHP

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderator: mindphp, ผู้ดูแลกระดาน

pataponnew
PHP Hero Member
PHP Hero Member
โพสต์: 152
ลงทะเบียนเมื่อ: 03/05/2021 10:18 am

คำสั่งวนซ้ำในภาษา PHP

โพสต์ที่ยังไม่ได้อ่าน โดย pataponnew »

คำสั่งวนซ้ำหรือLoopในภาษาPHPคือคำสั่งที่ใช้ในการทำซ้ำภายใต้เงื่อนไขที่กำหนด การวนซ้ำนั้นเป็นสิ่งสำคัญในช่วยอำนวยความสะดวกในการเขียนการทำงานหรือฟังก์ชั่นซ้ำๆ
เช่นการคำนวนเลขยกกำลัง เลขยกกำลัง คือ การเขียนตัวเลขที่มีการคูณซ้ำหลาย ๆ ครั้งในรูปแบบย่อ การหาเลขยกกำลังคือการนำตัวเลขมาคูณกันซ้ำๆตามเลขชี้กำลังที่กำหนด ซึ่งเราจะสามารถใช้การวนซ้ำในการอำนวยความสะดวกได้
คำสั่งวนซ้ำมี4รูปแบบต่อไปนี้
1.while
2.do while
3.for
4.foreach

while
whileเป็นคำสั่งใช้สำหรับควบคุมการทำงานของโปรแกรมให้ทำงานซ้ำๆ ภายใต้เงือนไขที่กำหนด
รูปแบบการทำงานของwhileคือ

while (เงื่อนไข){
การทำงาน
}
โดยคำสั่งwhile จะทำงานก็ต่อเมื่อเงื่อนไขเป็นจริง จึงจะทำการทำงานในลูป
ตัวอย่างการใช้งานwhile

โค้ด: เลือกทั้งหมด

<?php
$a = 1;
while ($a <= 10) {
  echo $a."<br>";
  $a++;
}
?>
โดยกำหนดตัวเเปร a = 1 เเละ ทำงานเเสดงค่า a ออกมา จากนั้นจะทำการวนซ้ำไปเรื่อยๆโดยมีเงื่อนไขว่า ถ้า a <= 10 จะหยุด
จะทำให้เเสดงผลดังรูป
การเเสดงผล
การเเสดงผล
bandicam 2021-05-11 18-56-01-561.jpg (6.93 KiB) Viewed 853 times
do while
do while มีการทำงานคล้ายกับ while เเต่ว่า จะทำงานในส่วนของ do ก่อนหนึ่งรอบจึงค่อยเช็คเงื่อนไขการทำงาน
รูปเเบบการทำงานของ do while คือ

do{
การทำงาน
}while(เงื่อนไข);

ตัวอย่างการใช้งานdo while

โค้ด: เลือกทั้งหมด

<?php
$a = 1;
do {
  echo $a;
} while ($a != 1);
 ?>
จากโค้ดจะเห็นว่าตัวเเปรaมีค่าเป็น1 เเละเงื่อนไข คือถ้า a ไม่เท่ากับ 1จะทำการวนซ้ำต่อไปเรื่อยๆ
จากโค้ดจะเเสดงผลดังรูป
การเเสดงผล
การเเสดงผล
bandicam 2021-05-11 19-03-08-824.jpg (1.47 KiB) Viewed 853 times
การเเสดงค่า1 ที่เก็บอยู่ในตัวเเปรaออกมาเเสดงว่ามีการทำงานในส่วนของdoก่อนจากนั้นจึงค่อยเช็คเงื่อนไข เมื่อพบว่าไม่ตรงเงื่อนไขการทำงานจึงหยุดการวนซ้ำ

for
for จะมีการกำหนดจุดเริ่มต้น,จุดสิ้นสุด,ลำดับการเปลี่ยนเเปลง ไว้ในforทำให้โปรเเกรมสามารถกำหนดการวนลูปได้อย่างชัดเจน
รูปเเบบการทำงานของ for คือ

for (จุดเริ่มต้น;จุดสิ้นสุด;ลำดับการเปลี่ยนเเปลง){
การทำงาน
}

ตัวอย่างการใช้งาน for

โค้ด: เลือกทั้งหมด

<?php
for ($i=0; $i < 10; $i++) {
  echo "Start Round ",$i+1;
  echo "<br>";
}
 ?>
จากโค้ดจะเห็นว่ามีกำหนดการวนซ้ำโดยเริ่มต้นที่0เเละจะหยุดการทำงานเมื่อค่าที่กำหนดมีค่าเกิน10โดยที่ลำดับการเปลี่ยนเเปลงเพิ่มทีละ1 ซึ่งเท่ากับว่าจะมีการวนซ้ำ10ครั้ง โดยจะได้ผลการทำงานของโค้ดดังรูป
การเเสดงผล
การเเสดงผล
bandicam 2021-05-11 19-25-56-312.jpg (30.86 KiB) Viewed 853 times
foreach
foreach ถูกออกแบบมาให้ใช้งานกับอาเรย์ ใช้สำหรับวนอ่านค่าในอาเรย์โดยจะเริ่มจากสมาชิกตัวแรกจนถึงสมาชิกตัวสุดท้าย
ตัวอย่างการใช้งาน foreach

โค้ด: เลือกทั้งหมด

<?php
$numbers = [1,2,3,4,5];
foreach ($numbers as $num) {
    echo "$num <br>";
}
?>
ในเเต่ละรอบของการทำงานข้อมูลจะถูกเก็บในตัวเเปร $num เมื่อทำการเเสดงผลออกมาจะได้ตามรูปครับ
การเเสดงผล
การเเสดงผล
bandicam 2021-05-11 19-43-56-517.jpg (3.12 KiB) Viewed 853 times
ในการเขียนโปรเเกรมคำสั่งวนซ้ำนั้นนับว่าเป็นฟังก์ชั่นพื้นฐานเเละเป็นสิ่งสำคัญที่จะช่วยอำนวยความสะดวกในการเขียนโปรเเกรมของเรา การวนลูปสามารถนำไปประยุกต์ใช้ได้มากมายตามการวนซ้ำเเต่ละรูปแบบเลยครับ

อ้างอิง
http://www.amplysoft.com/knowledge/foreach%20PHP%20%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%A7%E0%B8%99%E0%B8%A5%E0%B8%B9%E0%B8%9B%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2%E0%B8%84%E0%B8%B3%E0%B8%AA%E0%B8%B1%E0%B9%88%E0%B8%87%20foreach.html
http://www.amplysoft.com/knowledge/For%20Loop%20PHP%20%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%A7%E0%B8%99%E0%B8%A5%E0%B8%B9%E0%B8%9B%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2%E0%B8%84%E0%B8%B3%E0%B8%AA%E0%B8%B1%E0%B9%88%E0%B8%87%20for.html
https://fordev22.com/2020/04/phpmysqli-ep-32-%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99-loops-%E0%B9%80%E0%B8%9A%E0%B8%B7%E0%B9%89%E0%B8%AD%E0%B8%87%E0%B8%95%E0%B9%89%E0%B8%99-%E0%B9%83/

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 74