web-dev-qa-db-ja.com

「elseif」と「else if」は完全に同義語ですか?

elseifおよびelse if完全に同義語、または違いはありますか?

Zendには使用する「標準」がありますか?

私は個人的にコードでelseifを見るのが嫌いですが、それらが同義語であるかどうかを知る必要があるだけです。PHPマニュアルは検索が最も簡単ではありません。

152

PHPマニュアル から:

PHPでは、「else if」(2語)を書くこともできます。動作は「elseif」(1語)の場合と同じです。構文上の意味はわずかに異なります(Cに精通している場合、これは同じ動作です)が、肝心な点は、どちらもまったく同じ動作になるということです。

基本的には同じように動作しますが、else ifは、次のようなネスト構造と技術的に同等です。

if (first_condition)
{

}
else
{
  if (second_condition)
  {

  }
}

マニュアルには次の事項も記載されています。

Elseifとelse ifは、上記の例のように中括弧を使用する場合にのみまったく同じと見なされることに注意してください。コロンを使用してif/elseif条件を定義する場合、else ifを2つの単語に分割しないでください。そうしないと、PHPは解析エラーで失敗します。

つまり、通常の制御構造形式(つまり、中括弧を使用)で:

if (first_condition)
{

}
elseif (second_condition)
{

}

elseifまたはelse if に使える。ただし、 代替構文 を使用する場合は、elseifを使用する必要があります。

if (first_condition):
  // ...
elseif (second_condition):
  // ...
endif;
198

Zendの開発者( https://github.com/php-fig/fig-standards#voting-members )を含むメンバーで構成されるFramework Interoperability Group(FIG)は、まとめられています一連の標準的な推奨事項(PSR-#)。

Zend2とSymfony2はすでにPSR-0に準拠しています。

スタイルに関する厳格なルールはありませんが、できるだけ多くのPSR-2を試すことができます。

PSR-2のelse ifとelseifにはコメントがあります。

キーワードelseifは、else ifの代わりに使用する必要があります(そのため、すべての制御キーワードは単一の単語のように見えます)。

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md#51-if-elseif-else

推奨事項の一部は、単なる推奨事項です。 else ifまたはelseifを使用するかどうかはあなた次第です

42
James Cowhen