(PHP 4, PHP 5, PHP 7, PHP 8)
  Конструкция elseif, как ясно из названия, объединяет
  конструкции if и else.
  Как и конструкция else, она расширяет инструкцию if,
  чтобы выполнять другую инструкцию тогда, когда PHP вычисляет выражение начальной конструкции
  if как false. Отличие от конструкции else состоит в том,
  что конструкция elseif выполнит альтернативное
  выражение только тогда, когда PHP вычислит условное выражение elseif
  как true. Следующий код, в зависимости от значений переменных,
  будет выводить
  «a больше b»,
  «a равно b»
  или «a меньше b»:
  
<?php
if ($a > $b) {
    echo "a больше b";
} elseif ($a == $b) {
    echo "a равно b";
} else {
    echo "a меньше b";
}
?>
  Допустимо указывать больше одной конструкции elseif в одной
  инструкции if. PHP выполняет первое выражение
  elseif, которое вычисляет как true. В PHP допустимо
  писать else if в два слова, тогда поведение будет идентичным
  конструкции elseif в одно слово. Синтаксическое отличие есть
  (в языке C пишут в два слова), но в итоге оба выражения дадут один
  и тот же результат.
 
  PHP выполнит инструкцию elseif только тогда,
  когда вычислит предшествующее выражение if и предшествующие
  выражения elseif как false, а текущее выражение
  elseif — как true.
 
Замечание: Заметьте, что записи
elseifиelse ifбудут равнозначны только в синтаксисе с фигурными скобками, как в приведённом примере. В синтаксисе с двоеточием для определения условийifиelseif, конструкцияelseifпишется в одно слово. PHP выдаст ошибку синтаксического анализа и завершит работу, если запись конструкцииelse ifразделена на два слова.
<?php
/* Некорректный способ: */
if ($a > $b):
    echo $a . " больше " . $b;
else if ($a == $b): // Не скомпилируется
    echo "Строка выше вызывает фатальную ошибку.";
endif;
?><?php
/* Корректный способ: */
if ($a > $b):
    echo $a . " больше " . $b;
elseif ($a == $b): // Заметьте, тут одно слово
    echo $a . " равно " . $b;
else:
    echo $a . " не больше и не равно " . $b;
endif;
?>