當前位置:常識百科館>遊戲數碼>IT技術>

PHP迴圈語句while和do while的區別

IT技術 閱讀(1.76W)

在php開發時,我們除了可以用for, foreach等迴圈語句外,還可以用while,do while迴圈語句。while和do while二者有什麼區別?下面一起來看下。

操作方法

(01)首先看下我們用while迴圈語句的程式碼,如圖,while($i<=5) 的意思就是當$i變數小於等於5的時候(即不大於6),就執行while語句裡的程式碼:輸出顯示當前$i變數的值。要注意的是一定要加上$i++這行程式碼。這行代碼是在每次迴圈時讓$i變數加1,如果沒有這行程式碼,那麼$i變數一直都是1,就永遠不會跳出迴圈語句了。

PHP迴圈語句while和do while的區別

(02)執行結果如圖,程式碼從1到5,共5次輸出顯示$i變數的值。

PHP迴圈語句while和do while的區別 第2張

(03)同樣的功能,我們把程式碼改成用do while迴圈語句,

PHP迴圈語句while和do while的區別 第3張

(04)執行後得到的結果和用while迴圈的語句是一樣的。

PHP迴圈語句while和do while的區別 第4張

(05)那麼是不是二者沒有區別呢?不是的,我們修改下迴圈語句的條件就可以看到區別了。修改程式碼,把$i=1改成$i=10,其他不變,程式碼如圖。

PHP迴圈語句while和do while的區別 第5張

(06)執行結果如圖,可以看到沒有數字輸出,因為$i=10時,while($i<=5)的條件是不成立的,(10<=5肯定是不可能的),所以不會執行while裡的語句。

PHP迴圈語句while和do while的區別 第6張

(07)用do while時呢?也修改下條件,程式碼如圖。

PHP迴圈語句while和do while的區別 第7張

(08)執行結果如圖,可以看到有輸出一個數字10。為什麼會這樣?因為do while迴圈是先執行程式碼do裡的語句,然後才去判斷while裡的語句,如果while語句符合條件,則進入下一次迴圈,不符合條件,則不再迴圈。也就是說,無論條件是否符合,都會至少執行一次do裡的語句。所以就算10<=5是不成立的,程式碼還是執行了一次do裡面的輸出邏輯。這就是它和while語句的主要區別。

PHP迴圈語句while和do while的區別 第8張