PHP循環語句while和do while的區別

在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張