Są elseif
i są else if
całkowicie synonimami, czy też jest różnica?
Czy Zend ma przyjęty „standard”, na którym należy go używać?
Chociaż osobiście nie lubię widzieć elseif
w kodzie, po prostu muszę wiedzieć, czy są synonimami, a podręcznik PHP nie jest najłatwiejszy do wyszukania.
php
syntax
conditional-statements
Theodore R. Smith
źródło
źródło
else if
mówiąc, nie w każdym innym języku . Na przykład VB również używa,ElseIf
a Ruby używaelsif
.Odpowiedzi:
Z podręcznika PHP :
Zasadniczo zachowują się tak samo, ale
else if
technicznie są równoważne zagnieżdżonej strukturze, takiej jak ta:W instrukcji podano również:
Co oznacza, że w normalnej postaci struktury kontrolnej (tj. Przy użyciu nawiasów):
albo
elseif
lubelse if
mogą być użyte. Jeśli jednak używasz alternatywnej składni , musisz użyćelseif
:źródło
else if
jakoelse { if {
.else if
takelse { if {
, inaczej nie dałbyś radyif (0) { } else if (0) { } else { }
...if (0) { } else { if (0) { } else { } }
. Zauważ, że w ostatnimelse
bloku nie ma niejednoznaczności , co zawsze ma miejsce w przypadku pełnych gałęzi (każdyif
maelse
).if ($v1='1'): do_thing(); else: if($v1='b' ): do_another_thing(); else: do_smthing_else(); endif; endif;
jest odpowiednikiem;if ($v1='1'): do_thing(); elseif($v1='b' ): do_another_thing(); else: do_smthing_else(); endif;
Grupa Framework Interoperability Group (FIG), która składa się z członków, w tym twórców Zend ( https://github.com/php-fig/fig-standards#voting-members ), przygotowała szereg standardowych zaleceń (PSR - #).
Zend2 i Symfony2 są już po PSR-0.
Nie ma sztywnych i szybkich zasad dotyczących stylów, ale możesz spróbować przestrzegać tak dużo PSR-2, jak tylko możesz.
Jest komentarz else if vs elseif w PSR-2:
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md#51-if-elseif-else
Niektóre z zaleceń są po prostu zaleceniami. Od Ciebie zależy, czy użyjesz else if czy elseif
źródło