PHP 循環(huán) - While 循環(huán)
PHP 循環(huán)
在您編寫代碼時(shí),經(jīng)常需要反復(fù)運(yùn)行同一代碼塊。我們可以使用循環(huán)來(lái)執(zhí)行這樣的任務(wù),而不是在腳本中添加若干幾乎相等的代碼行。
在 PHP 中,我們有以下循環(huán)語(yǔ)句:
· ? ?while?- 只要指定條件為真,則循環(huán)代碼塊
· ? ?do...while?- 先執(zhí)行一次代碼塊,然后只要指定條件為真則重復(fù)循環(huán)
· ? ?for?- 循環(huán)代碼塊指定次數(shù)
· ? ?foreach?- 遍歷數(shù)組中的每個(gè)元素并循環(huán)代碼塊
PHP while 循環(huán)
while是一個(gè)布爾型循環(huán),while(布爾判斷)的值為true就執(zhí)行大括號(hào)括起來(lái)的代碼。如果為假就停出去,執(zhí)行后續(xù)代碼。
?語(yǔ)法
while (條件為 true){
??? //執(zhí)行的代碼;
}
實(shí)例
下例首先把變量 $x 設(shè)置為 1($x=1)。然后執(zhí)行 while 循環(huán),只要 $x 小于或等于 5。循環(huán)每運(yùn)行一次,$x 將遞增 1:
<?php header("Content-type:text/html;charset=utf-8"); //設(shè)置編碼 $x=1; while($x<=5){ echo "這個(gè)數(shù)是---".$x ."<br/>"; $x++; } ?>
看一下程序運(yùn)行結(jié)果:
這個(gè)數(shù)是---1
這個(gè)數(shù)是---2
這個(gè)數(shù)是---3
這個(gè)數(shù)是---4
這個(gè)數(shù)是---5
注:不要寫死循環(huán)(沒(méi)有退出條件的循環(huán))像下面的程序
<?php
whie(1){
??? echo 1111.'<br />';
}?>
while 條件為一,永遠(yuǎn)是true,所以它會(huì)一直循環(huán)下去,是個(gè)是循環(huán),造成頁(yè)面崩潰
PHP do...while 循環(huán)
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ǔ)法
do{
//執(zhí)行的代碼;
}while (條件為 true);
實(shí)例
下面的例子首先把變量 $x 設(shè)置為 1($x=1)。然后,do while 循環(huán)輸出一段字符串,然后對(duì)變量 $x 遞增 1。隨后對(duì)條件進(jìn)行檢
查($x 是否小于或等于 5)。只要 $x 小于或等于 5,循環(huán)將會(huì)繼續(xù)運(yùn)行,反正,循環(huán)結(jié)束
<?php header("Content-type:text/html;charset=utf-8"); //設(shè)置編碼 $x=1; do { echo "這個(gè)數(shù)字是:$x <br>"; $x++; } while ($x<=5); ?>
我們看一下do...while條件不滿足時(shí)程序的運(yùn)行結(jié)果:
<?php header("Content-type:text/html;charset=utf-8"); //設(shè)置編碼 $x=6; do { echo "這個(gè)數(shù)字是:$x <br>"; $x++; } while ($x<=5); ?>
上面的例子充分說(shuō)明了,do...while循環(huán)就算條件不滿足,代碼也會(huì)執(zhí)行一遍
for 循環(huán)和 foreach 循環(huán)將在下一章進(jìn)行講解。