我正在繼承遺留代碼,我遇到過這段代碼。無嵌套大括號的PHP嵌套else語句
- This Code works!
- 忽略變量名看
{
第一個條件打開但從不關閉else沒有打開?它仍然有效? - 它是繼續在兩個或只有一個條件,如果哪一個?
爲什麼它甚至工作?
foreach($bla as $foo) { if(condition) { if(condition) { // Do Something }else continue; } }
我的假設是內部條件將使用別的嗎?但我只是假設,因爲這個答案:Nested if-else behaviour without braces我無法找到一個明確的答案PHP
'忽略變量名稱看'\'{\'第一個條件打開,但從來沒有關閉其他沒有打開?它仍然有效?'哦,但它確實關閉(第二個到最後一個關閉'}')。 – Cthulhu 2014-09-01 09:17:37
這裏的關鍵在於[a * single *語句不必被包裹在大括號中](http://php.net/manual/en/control-structures.if.php)。你的'continue'行等同於'{continue; }'。我想假設你的其他困惑就在於縮進。我個人建議使用大括號即使是一個單一的聲明,但這可能仍然被認爲是一個宗教問題。 – 2014-09-01 09:19:53