for迴圈因為有「固定的範圍」與「固定的變化」這兩個限制,所以for迴圈適合固定數量的迴圈運用,假如我的資料沒有固定數量或沒有固定變化呢?這時我們可以使用while或do while迴圈來設計。
5-6-1 while迴圈
我們來看while迴圈的格式:
while (條件判斷){
//條件成立時會執行的迴圈語法
}
我們來看看以下的範例,我們想要寫一個1加到某數的總和,當條件成立與不成立時,迴圈各有什麼變化,首先我們來看當條件成立時:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>while:當條件成立時 </title></head>
<body><?
$i = 1;
$a= 0;
while ($i<10){
$a +=$i;
$i++;
echo "i=".$i."<br>";
echo "a=".$a."<br>";
echo "<hr>";
}
?> </body></html>
【圖21 條件成立下執行while迴圈】
while迴圈的條件判斷式在07行:
| 07: | while ($i<10){ |
|---|
代表當$i小於10的情況下,都可以執行大括弧內的迴圈程式。
而一開始$i的值為1,所以迴圈就可以執行。當條件成立時,迴圈要跑哪些語法呢?
| 08: | $a +=$i; |
|---|---|
| 09: | $i++; |
| 10: | echo "i=".$i."<br>"; |
| 11: | echo "a=".$a."<br>"; |
| 12: | echo "<hr>"; |
08行代表 $a=$a+$i,而09行代表執行完這一行$i的值會加1。10行到12行則都是輸出。
接者,我們來看看若條件不符合時,while迴圈會如何執行?
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>while:當條件不成立時 </title></head>
<body><?
$i = 11;
$a= 0;
while ($i<10){
$a +=$i;
$i++;
echo "i=".$i."<br>";
echo "a=".$a."<br>";
echo "<hr>";
}
?> </body></html>
【圖22 條件不成立下執行while迴圈】
while迴圈的條件判斷式在07行:
| 07: | while ($i<10){ |
|---|
因為$i的初始值就比10大,所以一開始的條件就不吻合,自然無法執行迴圈內的語法。
接下來:5-6-2 do while迴圈
相關文章:







