我正在继承遗留代码,我遇到过这段代码。无嵌套大括号的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