elseif/else if
(PHP 4, PHP 5, PHP 7, PHP 8)
Конструкция elseif
, как ясно из названия, объединяет
конструкции if
и else
.
Как и конструкция else
, она расширяет конструкцию if
,
чтобы выполнять другое выражение тогда, когда условие начальной конструкции
if
вычисляется
как false
. Отличие от конструкции else
состоит в том,
что конструкция elseif
выполнит альтернативное
выражение только тогда, когда условие elseif
вычислится как true
. Следующий код, в зависимости от значений переменных,
будет выводить
«a больше b»,
«a равно b»
или «a меньше b»:
Допустимо указывать больше одной конструкции elseif
в одной
конструкции if
. Выполняется первое выражение
elseif
, условие которого вычислено
как true
. PHP разрешает
писать else if
в два слова, тогда поведение будет идентичным
конструкции elseif
в одно слово. Синтаксическое отличие есть
(в языке C пишут в два слова), но в итоге оба выражения дадут один
и тот же результат.
Выражение elseif
выполняется только тогда,
когда предшествующее условие if
и предшествующие
условия elseif
вычисляются
как false
, а текущее условие elseif
вычисляется
как true
.
Замечание:
Заметьте, что записи elseif
и else if
будут равнозначны только в синтаксисе с фигурными скобками,
как в приведённом примере. В синтаксисе с двоеточием для определения условий
if
и elseif
,
конструкция elseif
пишется в одно слово.
Если запись конструкции else if
разделена на два слова,
PHP выдаст ошибку синтаксического анализа и завершит работу.