回答:
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;
else if
として扱われることを証明するために必要なのは、代替構文だけelse { if {
です。
else if
として処理しませんelse { if {
。そうしないと、処理できませんif (0) { } else if (0) { } else { }
...
if (0) { } else { if (0) { } else { } }
です。最後のelse
ブロックにはあいまいさがないことに注意してください。これは常に完全なブランチの場合に当てはまります(すべてにif
があるelse
)。
if ($v1='1'): do_thing(); else: if($v1='b' ): do_another_thing(); else: do_smthing_else(); endif; endif;
。 if ($v1='1'): do_thing(); elseif($v1='b' ): do_another_thing(); else: do_smthing_else(); endif;
Zendの開発者(https://github.com/php-fig/fig-standards#voting-members)の開発者を含むメンバーで構成されるフレームワーク相互運用グループ(FIG)は、一連の標準的な推奨事項(PSR)をまとめたものです。 -#)。
Zend2とSymfony2はすでにPSR-0に準拠しています。
スタイルに厳格な規則はありませんが、PSR-2をできる限り試してみることができます。
PSR-2のelse ifとelseifに関するコメントがあります。
すべての制御キーワードが単一の単語のように見えるように、else ifの代わりにキーワードelseifを使用する必要があります(SHOULD)。
いくつかの推奨事項は、単なる推奨事項です。else ifとelseifのどちらを使用するかはあなた次第です
else if
ところで、他のすべての言語がを使用しているわけではありません。たとえば、VBも使用しElseIf
、Rubyはを使用しelsif
ます。