Являются ли «elseif» и «else if» полностью синонимами? - PullRequest
148 голосов
/ 08 сентября 2010

elseif и else if полностью синонимичны или есть разница?

Есть ли у Zend принятый "стандарт" для использования?

Хотя мне лично не нравится видеть elseif в коде, мне просто нужно знать, являются ли они синонимами, и руководство по PHP не так просто найти.

Ответы [ 2 ]

196 голосов
/ 08 сентября 2010

Из руководства по PHP :

В PHP вы также можете написать «else if» (в двух словах), и поведение будет идентичным «elseif '(одним словом).Синтаксическое значение немного отличается (если вы знакомы с C, это то же самое поведение), но суть в том, что оба приведут к точно такому же поведению.

По сути, они будут вести себя одинаково, но else if технически эквивалентен вложенной структуре, например, так:

if (first_condition)
{

}
else
{
  if (second_condition)
  {

  }
}

В руководстве также указано:

Обратите внимание, что elseif и else if будут считаться точно такими же, когда используются фигурные скобки, как в приведенном выше примере.При использовании двоеточия для определения условий if / elseif вы не должны разделять else if на два слова, иначе PHP потерпит неудачу с ошибкой разбора.

Это означает, что в обычной форме структуры управления (т. Е. С использованием фигурных скобок):

if (first_condition)
{

}
elseif (second_condition)
{

}

можно использовать либо elseif, либо else if.Однако если вы используете альтернативный синтаксис , вы должны использовать elseif:

if (first_condition):
  // ...
elseif (second_condition):
  // ...
endif;
42 голосов
/ 14 декабря 2012

Framework Interoperability Group (FIG), состоящая из членов, в состав которых входят разработчики Zend (https://github.com/php-fig/fig-standards#voting-members), собрала серию Стандартных рекомендаций (PSR - #).

Zend2 и Symfony2 уже следуют PSR-0.

Нет жестких и быстрых правил для стилей, но вы можете попробовать и следовать как можно большему количеству PSR-2.

Есть комментарий кelse if vs elseif в PSR-2:

Ключевое слово elseif ДОЛЖНО использоваться вместо else если так, чтобы все контрольные ключевые слова выглядели как отдельные слова.

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

Некоторые из рекомендаций - это просто рекомендации.Вам решать, использовать ли else if или elseif

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...