PHP While 迴圈

PHP 迴圈 - While 迴圈

迴圈執行程式碼區塊指定的次數,或當指定的條件為真時循環執行程式碼區塊。

PHP 循環

#當您編寫程式碼時,您經常需要讓相同的程式碼區塊一次又一次地重複運行。我們可以在程式碼中使用循環語句來完成這個任務。

在程式開發中總是會有一些規律性的重複操作

我們需要讓一段程式碼區塊重複的執行,譬如:

•       輸出重複的文字(構造表格);

•       對一組資料執行相同的計算(陣列遍歷);

•       操作失敗後的再次執行…

迴圈都是由循環本體和循環條件組成,循環體代表需要重複執行的程式碼快,而循環條件代表循環終止的依據

在PHP 中,提供了下列迴圈語句:

·         while - 只要指定的條件成立,則循環執行程式碼區塊

·         do...while - 先執行一次程式碼區塊,然後在指定的條件成立時重複這個循環

·      -  for -  for 循環執行程式碼區塊指定的次數

·         foreach - 依照陣列中每個元素來循環程式碼區塊

while 迴圈

while 迴圈

##while 迴圈將重複執行程式碼區塊,直到指定的條件不成立。

PHP中最常見的循環,結構上和if語句一樣,它也依賴於一個條件

while (expr)

    statement

不同的是if語句是只有expr為true的時候去執行一次statement,而while語句是只要expr為true就會不斷重複的執行statement

通常我們也建議使用{}將statement包裹起來使用

$num = 1;

while ($num <= 5) {
    echo $num;
}

語法

while (條件)

{
要執行的程式碼;
}

那麼,問題來了,按照while的設計,如果expr一直為true,那麼迴圈會永遠執行下去,因此我們需要在循環體內去改變expr的結果.

$num = 1;

while ($num <= 5) {

    echo $num;

    $num++;## } }

每次迴圈執行的時候$num會自動加1,那麼該迴圈體會執行幾次?

5次

 

實例

下面的實例先設定變數 i 的值為 1 ($i=1;)。


然後,只要 i 小於或等於 5,while 循環就會繼續運作。循環每運轉一次,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 語句會至少執行一次程式碼,然後檢查條件,只要條件成立,就會重複進行循環。

do {

    statement

} while (expr);

do…while迴圈與while迴圈最大的不同是,expr的偵測是放在程式碼區塊的最後,也就是說,不論expr是否為true,do…while循環至少會執行一次

我們平時去飲水機打水,有兩種人,一種人先會看下桶子裡有沒有水,如果有,再去按下按鈕接水,這是while循環

另一種人不管,先去按按鈕,出水了就一直接,要是沒出水,再去看看桶裡有沒有水,然後默默離開,這是do…while循環

 

#語法

do
{
要執行的程式碼;
}
while (條件);

實例

下面的實例先設定變數 i 的值為1 ($i=1;)。

然後,開始 do...while 迴圈。循環將變數 i 的值遞增 1,然後輸出。先檢查條件(i 小於或等於5),只要 i 小於或等於5,循環將繼續運作:

<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

for 迴圈和foreach 迴圈將在下一章進行講解。


繼續學習
||
<html> <body> <?php $i=1; while($i<=5) { echo "The number is " . $i . "<br>"; $i++; } ?> </body> </html>