การวนรอบ (loop) ใน PHP มี 4 แบบ คือ
while ตรวจสอบ แล้วค่อยวนรอบ
do...while ทำก่อน 1 ครั้งแล้วค่อยตรวจสอบ
for วนรอบตามจำนวนที่กำหนด
foreach วนรอบตามจำนวน element ใน array
while
while จะตรวจสอบค่าก่อน หากเป็นจริง จึงวนทำตามคำสั่งภายใน หากเป็นเท็จก็จะไม่วนรอบนั้น ๆ มักใช้ในกรณีที่ไม่รู้จำนวนรอบที่แน่นอน หรือไม่ต้องการหาจำนวนรอบก่อนที่จะวน เช่น วนรอบแสดงข้อมูลจากไฟล์ หรือฐานข้อมูลเป็นต้น
while สามารถเขียนได้ 2 แบบ เช่นเดียวกับ
switch
do...while
do...while จะทำตามคำสั่งใน
do ก่อน 1 ครั้งแล้วค่อยตรวจสอบ หากยังเป็นจริงก็ทำใน
do อีก โดยทั่วไปแล้วแทบไม่ต่างจาก
while เลย แต่การใช้
do...while เพื่อให้มั่นใจว่า คำสั่งใน loop จะถูกสั่งแน่ ๆ อย่างน้อย 1 ครั้ง
for
for จะวนตามจำนวนที่ระบุเอาไว้จนครบแล้วออกจากการวนรอบ มักใช้ในการวนรอบที่มีจำนวนแน่นอนซึ่งต่างจาก
while และ
do...while ที่มักใช้กับจำนวนรอบที่ไม่แน่นอน
forสามารถเขียนได้ 2 แบบเหมือนกับ
while
foreach
foreach ใช้ในการวนดูข้อมูลใน array เป็นหลัก เขียนได้ 2 แบบเช่นกัน
break และ continue
break จะเป็นการออกจากการวนรอบก่อนที่จะครบตามที่กำหนดไว้
continue จะข้ามรอบนั้น ๆ ไป แต่ยังวนรอบอยู่เหมือนเดิม
สรุปเรื่องคำสั่งทางเลือก
จากบทความเรื่อง
if...else และ switch กับเรื่องการวนรอบ จะเห็นว่า ใน PHP จะมีคำสั่ง หรือ syntax ทางเลือกอยู่หลายแบบ สรุปรวมเท่าที่เขียนมาทั้งหมดจะมี
if...else ที่ใช้ if (): (ร่วมกับ else: และ/หรือ elseif ():) และปิดด้วย endif;
switch ที่ใช้ switch (): และปิดด้วย endswitch;
while ที่ใช้ while (): และปิดด้วย endwhile;
for ที่ใช้ for (): และปิดด้วย endfor;
foreach ที่ใช้ foreach (): และปิดด้วย endforeach;