php中while迴圈有兩種:1、while迴圈語句,先對迴圈條件進行判斷,當條件滿足,則執行迴圈體,不滿足時則停止;語法「while(表達式){循環體語句塊;}」。 2.「do while」迴圈語句,先在執行了一次迴圈體中的「語句區塊」之後,然後再對迴圈條件進行判斷,如果為真則繼續循環,如果為假,則終止迴圈;語法「do {循環體語句塊;}while(表達式);」。
本教學操作環境:windows7系統、PHP8版、DELL G3電腦
循環語句可以在滿足條件的情況下重複執行某一個操作。在 PHP 中提供了 4 個迴圈控制語句,分別是 while、do while、for 、 foreach 迴圈語句。本篇文章我們主要介紹 while 和 do while 迴圈語句。
1、while循環語句
#while循環語句是一種當型
循環語句,先對迴圈條件進行判斷,當條件滿足,則執行循環體,不滿足時則停止。
作用:重複執行某一項操作,直到指定的條件不成立。
特點:先判斷表達式,當表達式結果為真時執行對應的語句。
while迴圈的一般形式為:
while(表达式){ //表达式为循环条件 PHP语句块; //PHP语句块为循环体 }
語句解析:
先計算「表達式」的值,當值為真時, 執行循環體內的「PHP語句區塊」;
說明:「表達式」的計算結果是布林類型( TRUE 或FALSE)的,如果是其他類型的值也會自動轉換為布林類型的值(因為PHP是弱語言類型,會根據變數的值,自動把變數轉換為正確的資料型別)。
「語句塊」就是由
{ }
所包圍的一個或多個語句的集合;如果語句區塊中只有一個語句,也可以省略{ }
。
執行結束後,返回表達式,再次計算表達式的值進行判斷,當表達式值為真,則繼續執行“語句區塊” ……這個過程會一直重複
直到表達式的值為假時才跳出循環,執行while 下面的語句。
while語句的流程圖如下所示:
通常「表達式」是使用比較運算子或邏輯運算子計算後的值
範例:計算1加到100的值
<?php header("Content-type:text/html;charset=utf-8"); $i = 1; $sum=0; while($i<=100){ $sum+=$i; $i++; } echo "1加到100的值为:".$sum ; ?>
輸出結果:
while 迴圈與 if 語句一樣可以多層嵌套在一起使用,例如我們可以使用兩層嵌套的while 迴圈輸出一個表格,程式碼如下所示:
<?php echo '<table border="1">'; $x = 0; while ($x < 10) { echo '<tr align="center">'; $y = 0; while ($y < 10) { echo '<td>'.($x*10+$y).'</td>'; $y++; } echo '</tr>'; $x++; } echo '</table>'; ?>
#註:「死循環」--無法靠自身的控制終止的迴圈
如果表達式一直為真,循環條件一直成立,則while 迴圈會一直執行下去,永不結束,成為「死迴圈」
<?php $i=1; while($i){ echo $i; } ?>
執行程式後,會一直輸出變數$i
的值,直到使用者強制關閉。
2、do-while循環語句
#do-while循環語句是一種「直到類型
」循環語句,它是先在執行了一次循環體中的「語句塊」之後,然後再對循環條件進行判斷,如果為真則繼續循環,如果為假,則終止循環。
因此:不論表達式的結果,do-while迴圈語句至少會執行一次「語句塊」。
do-while迴圈語句的特點:先執行迴圈體,然後判斷迴圈條件是否成立。
do-while循環的一般形式為:
do{ 语句块; }while(表达式);//表达式为循环条件
語句解析:說明:
- ##和while循環一樣,do-while循環中「表達式」的計算結果一定是布林型的TRUE 或FALSE,如果是其他類型的值也會自動轉換為布林類型的值。
- do-while語句最後的分號
;
是無法省略的(一定要有),它是do while迴圈語法的一部份。
do-while迴圈語句的流程圖如下:
示例:
还是之前文章的例子:计算1加到100的值
<?php header("Content-type:text/html;charset=utf-8"); $i = 1; $sum=0; do { $sum += $i; $i++; } while ($i <= 100); echo '1 + 2 + 3 +...+ 99 + 100 = '. $sum; ?>
输出结果:
推荐学习:《PHP视频教程》
以上是php中while循環怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!