do while迴圈與while迴圈非常相似,我們來看do while迴圈的格式:
do{
//執行的迴圈語法
} while (條件判斷);
請您注意,do while迴圈的while()這一行有加上分號「;」。
while迴圈是「先判斷再執行迴圈內的語法」,而do while迴圈則是「先執行迴圈內的語法再做判斷」。我們來看看以下的範例,我們想要寫一個1加到某數的總和,當條件成立與不成立時,迴圈各有什麼變化,首先我們來看當條件成立時:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>dowhile:當條件成立時 </title></head>
<body><?
$i = 1;
$a= 0;
do {
$a +=$i;
$i++;
echo "i=".$i."<br>";
echo "a=".$a."<br>";
echo "<hr>";
}while ($i<10);
?> </body></html>
【圖23 條件成立下執行do while迴圈】
do while迴圈的條件判斷式在13行:
| 13: | }while ($i<10); |
|---|
先執行迴圈內的語法,再判斷「$i小於10」的條件是否成立,若成立就繼續執行迴圈。
而一開始$i的值為1,第一次執行完網頁的09行「$i++;」後$i的內容成為2,仍符合「$i小於10」的條件,所以迴圈就繼續執行,直到「$i小於10」的條件不成立時。
接者,我們來看看若條件不符合時,dowhile迴圈會如何執行?
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>dowhile:當條件不成立時 </title></head>
<body><?
$i = 11;
$a= 0;
do{
$a +=$i;
$i++;
echo "i=".$i."<br>";
echo "a=".$a."<br>";
echo "<hr>";
} while ($i<10);
?> </body></html>
【圖24 條件不成立下執行do while迴圈】
do while迴圈的條件判斷式在13行:
| 13: | }while ($i<10); |
|---|
先執行迴圈內的語法,再判斷「$i小於10」的條件是否成立,若成立就繼續執行迴圈。
而一開始$i的值為11,第一次執行完網頁的09行「$i++;」後$i的內容成為12,不符合「$i小於10」的條件,所以迴圈就不再繼續執行下去,但這裡我們仍執行過一次迴圈,$a的值不是0,而是11,所以我們由這幾個練習瞭解,while迴圈與dowhile迴圈的差異。
| 執行順序 | 若與條件不合 | |
|---|---|---|
| while迴圈 | 先判斷再執行迴圈內的語法 | 一次都不執行 |
| dowhile迴圈 | 先執行迴圈內的語法再做判斷 | 只執行一次 |
接下來:5-7 中斷指令
相關文章:







