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

byr*_*gur 11 php if-statement

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

if ( condition ):
   // code
elseif ( othercondition ):
   // more code
endif;
Run Code Online (Sandbox Code Playgroud)

还是应该最后还有别的?

if ( condition ):
   // code
elseif ( othercondition ):
   // more code
else
   // more code
endif;
Run Code Online (Sandbox Code Playgroud)

我确定它一定是,但我无法在任何地方得到证实.编辑 - 我已经尝试过但它有效,但我只想确定.

oez*_*ezi 14

如果你不需要最后一个else块,不要写一个.拥有一段this is useless不需要的代码块(可能只包含一个-comment)是没有意义的.


FtD*_*Xw6 5

虽然@oezi 的回答是 100% 正确的,但我还要补充一点,就最佳实践而言在所有情况下使用else条件。但这并不意味着您必须从字面上使用块,因为您可以通过将“else 代码”放在. 例如:elseif

$foo = 'baz';

if (...) {
    $foo = 'foo';
} else if (...) {
    $foo = 'bar';
}
Run Code Online (Sandbox Code Playgroud)

...在功能上等同于:

if (...) {
    $foo = 'foo';
} else if (...) {
    $foo = 'bar';
} else {
    $foo = 'baz';
}
Run Code Online (Sandbox Code Playgroud)

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