關於PHP中的for迴圈執行順序問題

2021-09-26 14:11:09 字數 563 閱讀 1211

先貼出來官方給的文件說明:

for 迴圈是 php 中最複雜的迴圈結構。它的行為和 c 語言的相似。 for 迴圈的語法是:

for (expr1; expr2; expr3)

statement

這是乙個demo,可以猜一下這個demo執行之後是否會有輸出:

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

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

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

也就是說賦值是第一位的,之後開始這個for迴圈。

然後在每次迴圈之前執行expr2的判斷,每次迴圈之後進行expr3的求值。

即start -> expr1 -> n(expr2 -> statement -> expr3) -> end

所以demo中的**執行之後雖然$i已經被賦值0了,但是程式不會有任何的輸出。廣告

贊正在載入……

PHP 雙層 for迴圈的執行過程

先看 1 2for i 0 i 3 i 6 7 看下它的執行過程 1.首先執行最外層的for迴圈,此時 i 0 2.然後開始執行內迴圈,這裡值得一提的是 for迴圈巢狀的話將優先執行內迴圈,再執行外迴圈,所以說它會把 x由0遞增到2 執行3遍內迴圈後,退出外迴圈,i i 1 再次執行外迴圈.直到 i...

PHP中的for迴圈

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

關於for迴圈的執行效率問題

我以前遇到的問題大概都是這種型別的 1for inti 0 i 100 i 2 7 8和 9 for inti 0 i 10000 i 10 15 這兩個程式那個執行效率高,如果是以前我會毫不猶豫的說是第乙個效率高,這是由於cpu切換的次數比較多導致效能下降,知道這句話不理解什麼原理。我比較贊同下面...