while 與do...while語句
PHP 迴圈 -?While 迴圈
迴圈執(zhí)行程式碼區(qū)塊指定的次數(shù),或當(dāng)指定的條件為真時循環(huán)執(zhí)行程式碼區(qū)塊。
PHP 循環(huán)
當(dāng)您編寫程式碼時,您經(jīng)常需要讓相同的程式碼區(qū)塊一次又一次地重複運(yùn)行。我們可以在程式碼中使用循環(huán)語句來完成這個任務(wù)。
在PHP 中,提供了下列迴圈語句:
·???????? while?- 只要指定的條件成立,則循環(huán)執(zhí)行程式碼區(qū)塊
·???????執(zhí)行一次程式碼區(qū)塊,然後在指定的條件成立時重複這個迴圈
·???????? for?- 循環(huán)執(zhí)行程式碼區(qū)塊指定的次數(shù)
#·???????? foreach?- 根據(jù)陣列中#·???????? foreach?- 根據(jù)陣列中##·???????? foreach?- 根據(jù)陣列中##·???????? foreach?- 根據(jù)陣列中##·??????
while 迴圈
while 迴圈將重複執(zhí)行程式碼區(qū)塊,直到指定的條件不成立。
語法
while (條件)
{
要執(zhí)行的程式碼;
}
實(shí)例
#下面的實(shí)例首先設(shè)定變數(shù)?i?的值為1 ($i=1;)。
然後,只要?i?小於或等於 5,while 循環(huán)就會繼續(xù)運(yùn)作。循環(huán)每運(yùn)轉(zhuǎn)一次,i?就會遞增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 語句
do...while 語句會至少執(zhí)行一次程式碼,然後檢查條件,只要條件成立,就會重複進(jìn)行循環(huán)。
語法
do { 要執(zhí)行的代碼; } while (條件);
實(shí)例
下面的實(shí)例先設(shè)定變數(shù)?i?的值為 1 ($i=1;)。
然後,開始 do...while 迴圈。循環(huán)將變數(shù)?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
?
那我們現(xiàn)在要寫一個0-99的隔行變色的表格。
? ? ?定義初始值,輸出表格標(biāo)籤和表格中的列標(biāo)籤
<?php //定義循環(huán)的初始值 $i=0; echo '<table width="800" border="1">'; while($i<100){ //輸出列0-99的列了 echo '<td>'.$i.'</td>'; //一定要加喲,不然死循環(huán)了 $i++; } echo '</table>'; ?>
2.加上行產(chǎn)生的邏輯
<?php $i=0; echo '<table width="800" border="1">'; while($i<100){ //0 - 9 為一行 //10 -19 為一行 //因此,每一行都能夠被10求默,如為為10的時候,應(yīng)該顯示行開始的標(biāo)簽 if($i%10 == 0){ //為了隔行變色,每20,40,60每行的顏色是PHP學(xué)院的,因此我們又可以再進(jìn)行一次取余運(yùn)算 if($i%20==0){ echo '<tr>'; }else{ echo '<tr bgcolor="pink">'; } } echo '<td>'.$i.'</td>'; $i++; //同理,每一行結(jié)束是不是應(yīng)該有一個</tr>結(jié)束標(biāo)簽?zāi)兀? if($i%10==0){ echo '</tr>'; } } echo '</table>'; ?>
註:不要寫死循環(huán)(沒有退出條件的循環(huán))
whie(1){
??? echo 1111.'<br />';
}
?
do...while 語句
do-while?和?while?循環(huán)非常相似,差異在於表達(dá)式的值是在每次循環(huán)結(jié)束時檢查而不是開始時。和正規(guī)的?while?循環(huán)主要的區(qū)別是?do-while?的循環(huán)語句保證會執(zhí)行一次(表達(dá)式的真值在每次循環(huán)結(jié)束後檢查),然而在正規(guī)的?while?循環(huán)中就不一定了(表達(dá)式真值在循環(huán)開始時檢查,如果一開始就為?FALSE?則整個循環(huán)立即終止)。
do-while?循環(huán)只有一種語法:?<?php
$i?=?0;
do?{
???echo?$i;
}?while?($i?>?echo?$i;
}?while?($i?>?);