while กับ do while ภาษา PHP เป็นคำสั่งการวนลูปทั้งคู่ แต่มีความแตกต่าง คือ while จะเช็คเงื่อนไขก่อนวนลูป ส่วน do while จะวนลูปก่อนแล้วจึงเช็คเงื่อนไข นั้นแปลว่าหากเงื่อนไขเป็นเท็จ do while ก็จะเกิดการวนลูป 1 รอบเสมอ สรุปคือ
while เช็คก่อนแล้วค่อยทำ
do while ทำก่อนแล้วค่อยเช็ค
ตัวอย่าง while เงื่อนไขเป็นเท็จไม่มีการวนลูป
<?php
$i=0;
while( $i<0 ) {
echo "while รอบที่ ".$i."<br/>";
$i++;
}
?>
ตัวอย่าง do while เงื่อนไขเป็นเท็จแต่วนลูป 1 รอบ
<?php
$i=0;
do {
echo "do while รอบที่ ".$i."<br/>";
$i++;
} while( $i<0 );
?>
ผลลัพธ์
do while รอบที่ 0
พิจารณาเงื่อนไขของ do while จะพบว่าเป็นเท็จ เพราะตัวแปร $i=0 ส่วนเงื่อนไขคือ $i<0 แต่โปรแกรมก็จะเกิดการวนลูป 1 รอบ เพราะ do while จะวนลูปก่อนแล้วจึงเช็คเงื่อนไขนั้นเอง