Sont elseif
et else if
complètement, ou y at -il une différence?
Zend a-t-il un "standard" accepté sur lequel utiliser?
Bien que personnellement je n'aime pas voir elseif
dans le code, j'ai juste besoin de savoir s'ils sont également synonymes et le manuel PHP n'est pas le plus facile à rechercher.
php
syntax
conditional-statements
Théodore R. Smith
la source
la source
else if
pas. Par exemple, VB utilise égalementElseIf
et Ruby utiliseelsif
.Réponses:
Depuis le manuel PHP :
Essentiellement, ils se comporteront de la même manière, mais
else if
est techniquement équivalent à une structure imbriquée comme ceci:Le manuel note également:
Ce qui signifie que dans la forme de structure de contrôle normale (c'est-à-dire en utilisant des accolades):
soit
elseif
ouelse if
peut être utilisé. Cependant, si vous utilisez la syntaxe alternative , vous devez utiliserelseif
:la source
else if
commeelse { if {
.else if
commeelse { if {
, sinon vous ne pourriez pas faireif (0) { } else if (0) { } else { }
...if (0) { } else { if (0) { } else { } }
. Notez qu'il n'y a pas d'ambiguïté dans le dernierelse
bloc, ce qui est toujours le cas pour les branches complètes (chacuneif
a unelse
).if ($v1='1'): do_thing(); else: if($v1='b' ): do_another_thing(); else: do_smthing_else(); endif; endif;
est l'équivalent de;if ($v1='1'): do_thing(); elseif($v1='b' ): do_another_thing(); else: do_smthing_else(); endif;
Le Framework Interoperability Group (FIG) qui est composé de membres dont les développeurs de Zend ( https://github.com/php-fig/fig-standards#voting-members ), a élaboré une série de recommandations standard (PSR - #).
Zend2 et Symfony2 suivent déjà PSR-0.
Il n'y a pas de règles strictes pour les styles, mais vous pouvez essayer de suivre autant de PSR-2 que vous le pouvez.
Il y a un commentaire sur else if vs elseif dans PSR-2:
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md#51-if-elseif-else
Certaines des recommandations ne sont que cela, des recommandations. C'est à vous de décider d'utiliser else if ou elseif
la source