在PHP中,还需要最终的else语句吗?

时间:2012-08-02 21:26:24

标签: php if-statement

在PHP中的elseif块中省略最后的else语句是否可以。这段代码好吗

if ( condition ):
   // code
elseif ( othercondition ):
   // more code
endif;

或者最后还有其他吗?

if ( condition ):
   // code
elseif ( othercondition ):
   // more code
else
   // more code
endif;

我确定它一定是,但我无法在任何地方得到确认。编辑 - 我已经尝试了它并且它有效但我只是想确定。

2 个答案:

答案 0 :(得分:13)

如果您不需要最终else - 阻止,请不要写一个。拥有一段不需要的代码块(可能只包含this is useless - 注释)是毫无意义的。

答案 1 :(得分:4)

虽然@ oezi的回答是100%正确的,但我还要补充最佳做法else条件在所有情况下使用。这并不意味着您必须逐字地使用else块,因为您可以通过将“else code”放在if之前来逻辑地完成相同的操作。例如:

$foo = 'baz';

if (...) {
    $foo = 'foo';
} else if (...) {
    $foo = 'bar';
}

......在功能上等同于:

if (...) {
    $foo = 'foo';
} else if (...) {
    $foo = 'bar';
} else {
    $foo = 'baz';
}

我认为在阅读代码时使用else会更清楚,但无论哪种方式都可以。请记住,完全忽略第三种情况是导致错误的常见原因(在某些情况下甚至是安全漏洞)。