PHP基礎之流程控制3——while/do-while
(PHP 4, PHP 5)
while?循環是 PHP 中最簡單的循環類型。它和 C 語言中的?while?表現地一樣。while?語句的基本格式是:
while (expr) statement
while?語句的含意很簡單,它告訴 PHP 只要?while?表達式的值為?TRUE?就重復執行嵌套中的循環語句。表達式的值在每次開始循環時檢查,所以即使這個值在循環語句中改變了,語句也不會停止執行,直到本次循環結束。有時候如果?while?表達式的值一開始就是?FALSE,則循環語句一次都不會執行。
和?if?語句一樣,可以在?while?循環中用花括號括起一個語句組,或者用替代語法:
while (expr): statement ...endwhile;
下面兩個例子完全一樣,都顯示數字 1 到 10:
<?php/*?example?1?*/$i?=?1;while?($i?<=?10)?{????echo?$i++;??/*?the?printed?value?would?be????????????????????$i?before?the?increment????????????????????(post-increment)?*/}/*?example?2?*/$i?=?1;while?($i?<=?10):????print?$i;????$i++;endwhile;?>do-while(PHP 4, PHP 5)
do-while?循環和?while?循環非常相似,區別在于表達式的值是在每次循環結束時檢查而不是開始時。和一般的?while?循環主要的區別是?do-while?的循環語句保證會執行一次(表達式的真值在每次循環結束后檢查),然而在一般的?while?循環中就不一定了(表達式真值在循環開始時檢查,如果一開始就為?FALSE?則整個循環立即終止)。
do-while?循環只有一種語法:
<?php$i?=?0;do?{???echo?$i;}?while?($i?>?0);?>以上循環將正好運行一次,因為經過第一次循環后,當檢查表達式的真值時,其值為?FALSE($i?不大于 0)而導致循環終止。
資深的 C 語言用戶可能熟悉另一種不同的?do-while?循環用法,把語句放在?do-while(0) 之中,在循環內部用?break?語句來結束執行循環。以下代碼片段示范了此方法:
<?phpdo?{????if?($i?<?5)?{????????echo?'i?is?not?big?enough';????????break;????}????$i?*=?$factor;????if?($i?<?$minimum_limit)?{????????break;????}????echo?'i?is?ok';????/*?process?i?*/}?while(0);?>如果還不能立刻理解也不用擔心。即使不用此“特性”也照樣可以寫出強大的代碼來。自 PHP 5.3.0 起,還可以使用?goto?來跳出循環。
相關文章: