PHP While 循環(huán)
循環(huán)執(zhí)行代碼塊指定的次數(shù),或者當(dāng)指定的條件為真時(shí)循環(huán)執(zhí)行代碼塊。
PHP 循環(huán)
在您編寫代碼時(shí),您經(jīng)常需要讓相同的代碼塊一次又一次地重復(fù)運(yùn)行。我們可以在代碼中使用循環(huán)語(yǔ)句來(lái)完成這個(gè)任務(wù)。
在 PHP 中,提供了下列循環(huán)語(yǔ)句:
1. while?- 只要指定的條件成立,則循環(huán)執(zhí)行代碼塊
2. do...while?- 首先執(zhí)行一次代碼塊,然后在指定的條件成立時(shí)重復(fù)這個(gè)循環(huán)
3. for?- 循環(huán)執(zhí)行代碼塊指定的次數(shù)
4. foreach?- 根據(jù)數(shù)組中每個(gè)元素來(lái)循環(huán)代碼塊
while 循環(huán)
while 循環(huán)將重復(fù)執(zhí)行代碼塊,直到指定的條件不成立。
while是一個(gè)布爾型循環(huán),while(布爾判斷)的值為true就執(zhí)行大括號(hào)括起來(lái)的代碼。如果為假就停出去,執(zhí)行后續(xù)代碼。
語(yǔ)法
while (條件)
{
要執(zhí)行的代碼;
}
實(shí)例
下面的實(shí)例首先設(shè)置變量?i?的值為 1 ($i=1;)。
然后,只要?i?小于或者等于 5,while 循環(huán)將繼續(xù)運(yùn)行。循環(huán)每運(yùn)行一次,i?就會(huì)遞增 1:
<html> <body> <?php $i=1; while($i<=5) { echo "The number is" . $i . "<br>"; $i++; } ?> </body> </html>
輸出:
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5
do...while 語(yǔ)句
do...while 語(yǔ)句會(huì)至少執(zhí)行一次代碼,然后檢查條件,只要條件成立,就會(huì)重復(fù)進(jìn)行循環(huán)。
語(yǔ)法
do
{
要執(zhí)行的代碼;
}
while (條件);
實(shí)例
下面的實(shí)例首先設(shè)置變量?i?的值為 1 ($i=1;)。
然后,開(kāi)始 do...while 循環(huán)。循環(huán)將變量?i?的值遞增 1,然后輸出。先檢查條件(i?小于或者等于 5),只要?i?小于或者等于 5,循環(huán)將繼續(xù)運(yùn)行:
<html> <body> <?php $i=1; do { $i++; echo "The number is" . $i . "<br>"; } while ($i<=5); ?> </body> </html>
輸出:
The number is 2
The number is 3
The number is 4
The number is 5
The number is 6
do...while與while的區(qū)別
do...while與while的區(qū)別是,它們的值的檢查時(shí)機(jī)不同。
do-while 不論while判斷是否成立,先執(zhí)行一次代碼代碼塊循環(huán)語(yǔ)句,保證會(huì)執(zhí)行一次(表達(dá)式的真值在每次循環(huán)結(jié)束后檢查)。 然而我們之前的while循環(huán)會(huì)檢查布爾判斷區(qū)域,成立則執(zhí)行。不成立則不執(zhí)行。
我們用代碼去驗(yàn)證一下:
<?php $i = 0; do { echo $i; } while ($i > 0); ?>
上面代碼中,$i 肯定不大于0,也執(zhí)行了。
for 循環(huán)和 foreach 循環(huán)將在下一章進(jìn)行講解。