是否可以在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)
我确定它一定是,但我无法在任何地方得到证实.编辑 - 我已经尝试过但它有效,但我只想确定.
虽然@oezi 的回答是 100% 正确的,但我还要补充一点,就最佳实践而言,应在所有情况下使用else
条件。但这并不意味着您必须从字面上使用块,因为您可以通过将“else 代码”放在. 例如:else
if
$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
在阅读代码时使用更清楚,但无论哪种方式都可以。请记住,完全忽略第三种情况是导致错误(在某些情况下甚至是安全漏洞)的常见原因。