การวนลูปเป็นเทคนิคในงานเขียนโปรแกรมที่ช่วยลดระยะเวลาในการทำสิ่งที่ต้องทำซ้ำแล้วซ้ำอีกหลายๆ รอบ เช่นการสร้างตารางแสดงสถิติคะแนนของนักเรียน ถ้ามีนักเรียนอยู่ 100 คน การที่เราจะมานั่งเขียนโค๊ดหลายร้อยบรรทัดเพื่อแสดงข้อมูลเหล่านี้นั้น จึงเป็นอะไรที่ซ้ำซ้อนเกินไป
ดังนั้น เราจึงต้องใช้คำสั่งในการวนลูปข้อมูลออกมาแสดงตามรูปแบบที่เรากำหนด เพื่อย่นระยะเวลาในการทำงานที่ซ้ำๆ ซึ่งคำสั่งที่ผมชอบใช้จะมี for(), foreach(), while() ซึ่งจะเป็นคำสั่งที่ใช้งานง่ายๆครับ และส่วนใหญ่การวนลูปมักจะได้ใช้กับข้อมูลที่เป็นอาร์เรย์นะครับ
ตัวอย่างที่ 1 ฟังก์ชั่น for()
1
2
3
4
5
| echo "< pre >"; for($i=0;$i<=10;$i++){ echo "ลำดับที่ $i \n"; } echo "</ pre >"; |
ผลลัพธ์
ลำดับที่ 0
ลำดับที่ 1
ลำดับที่ 2
ลำดับที่ 3
ลำดับที่ 4
ลำดับที่ 5
ลำดับที่ 6
ลำดับที่ 7
ลำดับที่ 8
ลำดับที่ 9
ลำดับที่ 10
ตัวอย่างการสร้างตัวเลือกเดือน
การสร้างตัวเลือกเดือน ที่เป็น select box เราจะต้องพิมพ์แท็ก option อยู่ทั้งหมด 12 ครั้งด้วยกัน ซึ่งจะเสียเวลาพิมพ์ ซ้ำกันหลายครั้ง
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| < select name = "selMonth" > < option value = "มกราคม" >มกราคม</ option > < option value = "กุมภาพันธ์" >กุมภาพันธ์</ option > < option value = "มีนาคม" >มีนาคม</ option > < option value = "เมษายน" >เมษายน</ option > < option value = "พฤษภาคม" >พฤษภาคม</ option > < option value = "มิถุนายน" >มิถุนายน</ option > < option value = "กรกฎาคม" >กรกฎาคม</ option > < option value = "สิงหาคม" >สิงหาคม</ option > < option value = "กันยายน " >กันยายน </ option > < option value = "ตุลาคม" >ตุลาคม</ option > < option value = "พฤศจิกายน" >พฤศจิกายน</ option > < option value = "ธันวาคม" >ธันวาคม</ option > </ select > |
เราเปลี่ยนจากการพิมพ์ด้วยมือ มาเป็นใช้ฟังก์ชั่น for ของ PHP มาช่วยงานแทน
1
2
3
4
5
6
7
8
9
10
| <? php $month = array ( '' , 'มกราคม' , 'กุมภาพันธ์' , 'มีนาคม' , 'เมษายน' , 'พฤษภาคม' , 'มิถุนายน' , 'กรกฎาคม' , 'สิงหาคม' , 'กันยายน ' , 'ตุลาคม' , 'พฤศจิกายน' , 'ธันวาคม' ); echo '<pre><b><u>ตัวอย่างการสร้างตัวเลือกเดือน</u></b>' . "\n\n" ; echo 'เดือน :: <select name="selMonth">' ; for ( $i =1; $i <=12; $i ++) { echo '<option value="' . $month [ $i ]. '">' . $month [ $i ] . '</option>' . "\n" ; } echo '</select>' ; echo '<pre>' ; ?> |
จะได้ผลลัพธ์ดังนี้