elseif
和else if
完全是同義詞,還是有區別?「elseif」和「else if」是否完全同義?
Zend是否有一個可接受的標準?
儘管我個人不喜歡在代碼中看到elseif
,但我只需要知道它們是否是同義詞,並且PHP手冊不是最容易搜索的。
elseif
和else if
完全是同義詞,還是有區別?「elseif」和「else if」是否完全同義?
Zend是否有一個可接受的標準?
儘管我個人不喜歡在代碼中看到elseif
,但我只需要知道它們是否是同義詞,並且PHP手冊不是最容易搜索的。
在PHP中,你也可以寫成「else if」(兩個單詞),所以行爲等同於「ELSEIF」的一個(一個字)。句法意義略有不同(如果您熟悉C,這是相同的行爲),但底線是兩者會導致完全相同的行爲。
本質上講,他們的行爲是相同的,但else if
在技術上相當於一個嵌套的結構,像這樣:
if (first_condition)
{
}
else
{
if (second_condition)
{
}
}
該手冊還指出:
注意ELSEIF和否則,如果只有在使用大括號時纔會被視爲完全相同,如上例所示。當使用冒號定義if/elseif條件時,如果分成兩個單詞,則不得將其他單獨分隔,否則PHP將失敗,並出現分析錯誤。
這意味着在正常的控制結構的形式(即,使用括號):
if (first_condition)
{
}
elseif (second_condition)
{
}
要麼elseif
或else if
都可以使用。但是,如果使用alternate syntax,你必須使用elseif
:
if (first_condition):
// ...
elseif (second_condition):
// ...
endif;
使用示例代碼片段很好。如果有的話,替代語法就是證明PHP簡單地將else if作爲else {if {'。 – BoltClock 2010-09-07 20:36:25
+1爲「否則如果在技術上等同於嵌套結構」 – 2014-07-18 06:10:02
PHP不會將'else if'當作其他if {if,否則你將不能'if(0){} else if (0){} else {}'... – 2015-07-10 14:05:57
框架協同工作組(圖),這是由成員,其中包括Zend公司(https://github.com/php-fig/fig-standards#voting-members)的開發者,彙集了一系列標準的建議(PSR-#)。
Zend2和Symfony2已經遵循PSR-0。
風格沒有硬性規定,但您可以嘗試儘可能多地遵循PSR-2。
有上的其他評論如果VS ELSEIF在PSR-2:
如果讓所有的 控制關鍵字看起來像單個的詞ELSEIF應該被用來代替其他的關鍵字。
一些建議只是,建議。這取決於你是否使用else if或elseif
非常感謝您指出關鍵字一字一的指引。 – 2012-12-14 17:20:20
順便說一下,並非所有其他語言都使用else if。例如,VB也使用'ElseIf',Ruby使用'elsif'。 – 2010-09-07 20:37:53
和shell/bash使用elif – knittl 2010-09-07 20:40:08
python也使用elif – gregghz 2011-09-09 16:37:52