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: -while
(PHP 4, PHP 5)
do-while 循環和 while 循環非常相似,差異在於表達式的值是在每次循環結束時檢查而不是開始時。和一般的 while 循環主要的區別是 do-while 的循環語句保證會執行一次(表達式的真值在每次循環結束後檢查),然而在一般的 while 循環中就不一定了(表達式真值在循環開始時檢查,如果一開始就為 FALSE 則整個循環立即終止)。
do-while 循環只有一種語法:
<?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; ?>
以上循環將正好運行一次,因為經過第一次循環後,當檢查表達式的真值時,其值為 FALSE($i 不大於0 )而導致循環終止。
資深的 C 語言使用者可能熟悉另一種不同的 do-while 循環用法,把語句放在 do-while(0) 之中,在循環內部用 break 語句來結束執行循環。以下程式碼片段示範了這個方法:
<?php $i = 0; do { echo $i; } while ($i > 0); ?>