การวนลูปเป็นเทคนิคในงานเขียนโปรแกรมที่ช่วยลดระยะเวลาในการทำสิ่งที่ต้องทำซ้ำแล้วซ้ำอีกหลายๆ รอบ เช่นการสร้างตารางแสดงสถิติคะแนนของนักเรียน ถ้ามีนักเรียนอยู่ 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>';?> |
จะได้ผลลัพธ์ดังนี้
