我在想如果$ count ++增加計數器的方式可以在條件語句中使用嗎?變量會保持它的新值嗎?
$count = 0;
foreach ($things as $thing){
if($count++ == 1) continue;
...
}
我在想如果$ count ++增加計數器的方式可以在條件語句中使用嗎?變量會保持它的新值嗎?
$count = 0;
foreach ($things as $thing){
if($count++ == 1) continue;
...
}
http://www.php.net/manual/en/language.operators.increment.php
要回答你的問題,這是完全合法的,只是保持在檢查你的價值將後2 的,如果已經完成。
只是出於好奇,評估後不應該「$ count」爲1。首先是'0'。增量會給你'1'嗎?我可能會錯過一些東西。 – War10ck
@ War10ck:不,如果$ count爲1,if將爲真,但由於它是後增量,所以在if確定爲真後,THEN $計數將遞增,因此它將爲2.第一次迭代通過循環將評估條件爲假。 – GeminiDomino
@GeminiDomino啊,是的。對不起,這是一個非常愚蠢的問題。我現在看到它。謝謝哥們。欣賞解釋。 :) – War10ck
是的,它會,但你要注意$ count ++(增量後)和++ $ count(增量前)之間的差異,否則你可能得不到你期望的結果。例如,您編寫的代碼片段將在第二個「$ thing」上「繼續」,但是要經過第一個循環,因爲$ count的值不會遞增,直到其值被測試。如果這就是你要做的,那就對了,但它是那些常見的「陷阱」之一,所以我想我應該提及它。
是的,它會的。 :) –
我想你已經測試過它,發現你不明白的結果。你能和我們分享細節嗎? –
這應該起作用。 '$ count ++'會增加'$ count'並返回*原始*值。 –