PHP中迴圈的區別 以及for和while的區別

2021-09-03 01:14:00 字數 1283 閱讀 3732

while(expr)

只要while表示式的值為true就重複執行巢狀中的迴圈語句。表示式的值在每次開始迴圈時檢查,所以即使這個值在迴圈語句中改變了,語句也不會停止執行,直到本次迴圈結束。如果表示式一開始是false,迴圈語句一次都會執行。

do-while

do-while迴圈和while迴圈非常相似,區別在於表示式的值是每次迴圈結束時檢查而不是開始時。和一般的while迴圈主要的區別是do-while的迴圈語句保證會執行一次。

forfor迴圈是php中最複雜的迴圈結構,語法是:

for(expr1;expr2;expr3)

第乙個表示式(expr1)在迴圈開始前無條件求值(並執行)一次

expr2在每次迴圈開始前求值。如果值為true,則繼續迴圈,執行巢狀的迴圈語句,如果為false則終止迴圈。

expr3在每次迴圈之後被求值(並執行)

每個表示式都可以為空,或者逗號分隔的多個表示式。表示式expr2中,所有用逗號分隔的表示式都會去計算,但是只取最後乙個結果。expr2為空意味著將無限迴圈下去。這可能不像想象中那樣沒有用,因為經常會希望用到條件的break語句結束迴圈而不是用for的表示式真值判斷。

foreach

foreach語法結構提供了遍歷陣列的簡單方式。foreach僅能夠應用於陣列和物件,如果嘗試應用於其他資料型別的變數,或者未初始化的變數將發出錯誤資訊。

foreach(array_expression  as  $value)

foreach (array_expression  as  $key=>$value)

第一種格式遍歷給定的array_expression陣列。每次迴圈中,當前單元的值被賦值給$value並且陣列內部的指標向前移一步(因此下一次迴圈中將會得到下乙個單元)

第二種格式做同樣的事,只除了當前單元的鍵名也會每次迴圈中被賦值個變數$key。

注意如果在迴圈內部修改值可能導致意外錯誤,因為foreach依賴內部陣列指標,變數賦值

所以如果要改變值,就要在$value前加上&,此方法將引用賦值而不是拷貝乙個值。因為你是引用value,最後乙個值會被保留,建議用unset()來將其銷毀。

for迴圈格式

for(初始化語句; 判斷條件語句; 控制條件語句)

while迴圈語句格式

初始化語句;

while(判斷條件語句)

區別:控制條件語句的變數 在for迴圈結束後  就不可以被訪問了 而while迴圈還可以訪問 如果你繼續想使用該變數 可以使用while迴圈 否則推薦使用for迴圈 原因是for迴圈結束 該變數就從記憶體中消失,能夠提高記憶體的使用效率 ;

PHP中的for迴圈

for expr1 expr2 expr3 第乙個表示式 expr1 在迴圈開始前無條件求值一次。expr2 在每次迴圈開始前求值。如果值為 true,則繼續迴圈,執行巢狀的迴圈語句。如果值為 false,則終止迴圈。expr3 在每次迴圈之後被求值 執行 每個表示式都可以為空或包括逗號分隔的多個表...

for迴圈和while迴圈的區別

for迴圈和while迴圈的區別 使用區別 如果你想在迴圈結束後,繼續使用控制條件的那個變數,用while迴圈,否則用for迴圈。不知道用for迴圈。因為變數及早的從記憶體中消失,可以提高記憶體的使用效率。其實還有一種場景的理解 如果是乙個範圍的,用for迴圈非常明確。如果是不明確要做多少次,用wh...

while迴圈和for迴圈的區別

while迴圈和for迴圈的區別?使用區別 如果你想在迴圈結束後,繼續使用控制條件的那個變數,用while迴圈,否則用for迴圈。不知道用for迴圈。因為變數及早的從記憶體中消失,可以提高記憶體的使用效率。其實還有一種場景的理解 如果是乙個範圍的,用for迴圈非常明確。如果是不明確要做多少次,用wh...