[重複執行的迴圈敘述]
所謂迴圈(Loop)就是能讓某一段的程式敘述能夠重複執行許多次的流程控制敘述。 <<計次執行的for迴圈敘述>> 當我們知道迴圈必須執行的次數時, for敘述就是最好的迴圈敘述, 要使用For-Next敘述就必須使用一個控制變數來決定For-Next敘述要執行的次數, 其格式如下:for (計次變數=初值;終止條件;計次變量) { 敘述區塊; }由上列格式中可得知, for敘述可以幫我們建立一個迴圈, 我們只要指定變數起始值、變數的計次變量與終止條件就可以決定迴圈重複的次數。 例如:
for ($X=0 ; $X<10 ; $X++) { $Y=$Y+$X; }
- 第一次執行迴圈時, 變數X被指定為起始值。
- 執行迴圈前, 變數X都會先進行是否超過終止值的檢驗, 若超過, 則結束迴圈, 否則就繼續執行迴圈內的敘述。
- 執行過迴圈後, 變數X的值將會加上步進值(1)。
<< while迴圈敘述>>
當知道迴圈必須執行的次數時, for敘述就是最好的迴圈敘述, 但是若不知道迴圈必須執行的次數的話就可以使用while迴圈敘述, 其格式如下:while (條件式) { 要重複執行的敘述區塊; }while迴圈敘述是由保留字while開始, 在其後是一個條件式, 而這個條件式則是一個布林值運算式, 如果這個條件式成立(布林值運算結果為True), 那麼在while迴圈敘述裡(敘述區塊)的程式碼就會執行至結尾, 然後再判斷條件式, 當這個條件式不再成立時, while迴圈敘述就會停止執行。
現在我們來比較一下for與while敘述:計算1加至10。 for寫法:
for ($X=0 ; $X<10 ; $X++) { $Y=$Y+$X; }while寫法:
$X=1; While ($X <= 10) { $Y=$Y+$X; $X=$X+1; }看完這兩個敘述的比較, 是不是發現:同樣的功能, 但是while敘述似乎麻煩多了, 不過, 若不知道迴圈會執行幾次, 還是while敘述比較適合, 例如計算6561是3的幾次方。
<?php $test=6561; $ans=0; while ($test>1) { $test=$test/3; $ans=$ans+1; } echo ("6561是3的" . $ans . "次方"); ?>
<< do-while迴圈敘述>>
while敘述是在迴圈一開始的時候就先判斷條件式, 而do-while迴圈敘述則是先執行迴圈內的敘述區塊, 直到迴圈的結尾才進行條件式的判斷。 條件式成立(布林值運算結果為False)時, 那麼在do -while迴圈敘述裡(敘述區塊)的程式碼就會執行至結尾, 然後再判斷條件式, 當這個條件式不成立時, do –while迴圈敘述就會停止執行。do { 要重複執行的敘述區塊; } while (條件式);例如:
<?php $test=6561; $ans=0; do { $test=$test/3; $ans=$ans+1; } while ($test>1); echo ("6561是3的" . $ans . "次方"); ?>
沒有留言:
張貼留言