elseif
和else if
完全是同义词,还是有区别?
Zend是否有一个可以使用的“标准”?
虽然我个人不喜欢在代码中看到elseif
,但我只需要知道它们是否是同义词,并且PHP手册不是最容易搜索的。
答案 0 :(得分:193)
来自PHP manual:
在PHP中,您还可以编写'else if'(两个单词),其行为与'elseif'(单个单词)中的行为相同。句法意义略有不同(如果你熟悉C,这是相同的行为),但底线是两者都会导致完全相同的行为。
基本上,它们的行为相同,但else if
在技术上等同于嵌套结构,如下所示:
if (first_condition)
{
}
else
{
if (second_condition)
{
}
}
手册还注明:
注意elseif和else if在使用花括号时只会被认为完全相同,如上例所示。使用冒号来定义if / elseif条件时,如果是两个单词,则不能将else分开,否则PHP将因解析错误而失败。
这意味着在正常的控制结构形式中(即使用大括号):
if (first_condition)
{
}
elseif (second_condition)
{
}
可以使用elseif
或else if
。但是,如果您使用alternate syntax,则必须使用elseif
:
if (first_condition):
// ...
elseif (second_condition):
// ...
endif;
答案 1 :(得分:42)
框架互操作性组(FIG)由包含Zend(https://github.com/php-fig/fig-standards#voting-members)开发人员的成员组成,汇集了一系列标准建议(PSR - #)。
Zend2和Symfony2已经跟随PSR-0。
对于样式没有严格的规则,但你可以尝试尽可能多地遵循PSR-2。
如果在PSR-2中vs elseif,则会对else发表评论:
如果是全部,则应该使用关键字elseif而不是else 控制关键字看起来像单个单词。
有些建议就是建议。是否使用else if elses
取决于你答案 2 :(得分:0)
是的,“elseif”和“else if”都是同义词,意思和意义都一样。您可以将“else if”与“elseif”混用。
For Example - We can use "else if" and "elseif" together.
if($condition){
...
}
else if($condition){
...
}
elseif($condition){
...
}
Nested:
if($condition){
...
}
else if($condition){
if($condition){
...
}
elseif($condition){
...
}
}