“elseif”和“else if”完全是同义词吗?
是完全同义词,还是有区别?elseif
else if
Zend是否有一个公认的“标准”来使用哪一个?
虽然我个人不喜欢在代码中看到,但我只需要知道它们是否是同义词,PHP手册不是最容易搜索的。elseif
是完全同义词,还是有区别?elseif
else if
Zend是否有一个公认的“标准”来使用哪一个?
虽然我个人不喜欢在代码中看到,但我只需要知道它们是否是同义词,PHP手册不是最容易搜索的。elseif
从 PHP 手册中可以看出:
在PHP中,你也可以写“else if”(用两个词),行为将与“elseif”(用一个词)的行为相同。语法含义略有不同(如果您熟悉C,这是相同的行为),但底线是两者都会导致完全相同的行为。
从本质上讲,它们的行为相同,但在技术上等同于嵌套结构,如下所示:else if
if (first_condition)
{
}
else
{
if (second_condition)
{
}
}
该手册还指出:
请注意,elseif 和 else if 只有在使用大括号时才会被视为完全相同,如上面的示例所示。当使用冒号来定义 if/elseif 条件时,如果将 else 分隔成两个单词,则不得将 else 分隔开来,否则 PHP 将失败并显示解析错误。
这意味着在正常的控制结构形式中(即使用大括号):
if (first_condition)
{
}
elseif (second_condition)
{
}
可以使用。但是,如果使用备用语法,则必须使用 :elseif
else if
elseif
if (first_condition):
// ...
elseif (second_condition):
// ...
endif;
框架互操作性组(FIG)由包括Zend(https://github.com/php-fig/fig-standards#voting-members)开发人员在内的成员组成,汇集了一系列标准建议(PSR-#)。
Zend2 和 Symfony2 已经遵循 PSR-0。
对于样式没有硬性规定,但您可以尝试尽可能多地遵循PSR-2。
在PSR-2中有一个关于 else if vs elseif 的评论:
如果使所有控件关键字看起来像单个单词,则应使用关键字 elseif 而不是 else。
有些建议就是这样,建议。这取决于你是否使用其他如果或否则