Sind elseif
und else if
ganz gleich, oder gibt es einen Unterschied?
Hat Zend einen akzeptierten "Standard", auf dem er verwendet werden soll?
Ich persönlich mag es nicht, elseif
im Code zu sehen, aber ich muss nur wissen, ob sie synonym sind und das PHP-Handbuch nicht so einfach zu suchen ist.
php
syntax
conditional-statements
Theodore R. Smith
quelle
quelle
else if
. Zum Beispiel verwendet VB auchElseIf
und Ruby verwendetelsif
.Antworten:
Aus dem PHP-Handbuch :
Im Wesentlichen verhalten sie sich gleich, entsprechen jedoch
else if
technisch einer verschachtelten Struktur wie folgt:Das Handbuch stellt außerdem fest:
Was bedeutet, dass in der normalen Kontrollstrukturform (dh unter Verwendung von Klammern):
entweder
elseif
oderelse if
kann verwendet werden. Wenn Sie jedoch die alternative Syntax verwenden , müssen Sie Folgendes verwendenelseif
:quelle
else if
wieelse { if {
.else if
alselse { if {
, sonst könnten Sie nicht tunif (0) { } else if (0) { } else { }
...if (0) { } else { if (0) { } else { } }
. Beachten Sie, dass der letzteelse
Block keine Mehrdeutigkeit aufweist , was bei vollständigen Verzweigungen immer der Fall ist (jederif
hat eineelse
).if ($v1='1'): do_thing(); else: if($v1='b' ): do_another_thing(); else: do_smthing_else(); endif; endif;
das Äquivalent von ist;if ($v1='1'): do_thing(); elseif($v1='b' ): do_another_thing(); else: do_smthing_else(); endif;
Die Framework Interoperability Group (FIG), die sich aus Mitgliedern zusammensetzt, zu denen die Entwickler von Zend gehören ( https://github.com/php-fig/fig-standards#voting-members ), hat eine Reihe von Standardempfehlungen (PSR) zusammengestellt - #).
Zend2 und Symfony2 folgen bereits PSR-0.
Es gibt keine festen Regeln für Stile, aber Sie können versuchen, so viel PSR-2 wie möglich zu befolgen.
Es gibt einen Kommentar zu else if vs elseif in PSR-2:
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md#51-if-elseif-else
Einige der Empfehlungen sind genau das, Empfehlungen. Es liegt an Ihnen, ob Sie else if oder elseif verwenden möchten
quelle