PHP while 迴圈

PHP 的兩大迴圈分別是 PHP for 迴圈與 while 迴圈,當你有重複性值的程式碼而且要執行很多次,就可以使用迴圈來處理,迴圈的好處是可以省去重複寫程式碼的工作,且管理起來比較容易,PHP while 迴圈的使用基本觀念是當條件符合,while 就會一直執行,直到不符合條件或者是跳出 while 迴圈(使用 break)的時候就會停止,可以自由控制要執行的次數。

PHP while loop 語法範例
<?php
while ( 條件判斷 ) {
 ...some code...
}
?>
PHP while 的條件判斷式可以為大小比對或是運算式,但要注意判斷式的條件要有限度,例如 1==1 這樣永遠都成立的情況,就會變成無限迴圈,while loop 成為無限迴圈會跑不停而造成系統當機唷!(如果 server 有設定安全範圍則有可能會執行到後來停止)

PHP while loop 實作範例
<?php
$i=0;
while ( $i<10 ) {
 echo $i . '-';
 $i++l;
}
?>
我們一開始設定了變數 $i 的值為 0,丟到 while 迴圈中,條件設定 $i<10 就會執行一次迴圈,echo $i.'-' 這行的意思是輸出結果,接著下面那一行的 $i++ 是將變數 $i+1 的意思,所以程式會輸出「0-1-2-3-4-5-6-7-8-9-」這樣的結果。

前面有介紹到 while loop 的條件判斷式可以寫成運算式,也就是每跑一次迴圈就先計算一次結果,如果計算結果符合條件,就會再度執行迴圈,一直到計算結果不符合條件為止,馬上來看個進化版的範例。
<?php
$i=0;
while ( $i+1<10 ) {
 echo $i . '-';
 $i++l;
}
?>
我們在這個 while 的條件式中加入了每次執行迴圈變數 $i 都 +1 再做條件判斷,輸出結果變成「0-1-2-3-4-5-6-7-8-」這樣的結果,不難發現輸出結果只到 8 而已,因為變數 $i 在 $i++ 的時候加到 9,本來應該會輸出,但回到 while 的條件判斷中, $+1 的運算結果變成 10,所以迴圈就不會繼續執行囉!在 while 迴圈中執行運算似乎很方便,但不建議當迴圈要執行的數量很龐大時使用。

延伸閱讀
© Copyright wibibi.com 網頁設計教學百科 基礎的網頁設計規劃、資料庫與程式設計 Since 2012
PHP Smarty MySQL JQuery Apache W3C