從PHP manual regarding for
loops看來下面的內容不正確。C for循環與PHP for循環不同嗎?
它們的行爲與C的對應行爲類似。
這是我對for
循環的理解。
在C
for (i = foo; i < 10; i++) { /* body */ }
相當於
if (i = foo)
{ while (i < 10)
{ /* body */
i++;
}
}
在PHP可比循環
for ($i = $foo; $i < 10; $i++) { /* body */ }
變得
$i = $foo;
while ($i < 10)
{ /* body */
$i++;
}
不同的是,在PHP $i = $foo
並不是條件,而是一個方便的地方發表聲明。假設我們將單個=
更改爲==
。區別變得顯着。它是否正確?如果是這樣,那麼PHP和C循環的行爲會有所不同,手冊是不正確的,對嗎?
我認爲你對C for循環的理解是錯誤的。 AFAIK這兩種語言都像你最後的代碼示例一樣。 – DaveRandom 2012-01-03 16:56:22
¿if(i = foo)? – Sirs 2012-01-03 16:56:59
令人驚訝的是,一段錯誤觀念能夠持續多久。我一直認爲init表達式是一個條件,人們總是把一個任務分配到那裏來評估爲真。 – htoip 2012-01-03 17:20:08