elseif/else if Конструкция elseif, как ясно из названия, объединяет конструкции if и else. Как и конструкция else, она расширяет инструкцию if, чтобы выполнять другую инструкцию тогда, когда PHP вычисляет выражение начальной конструкции if как &false;. Отличие от конструкции else состоит в том, что конструкция elseif выполнит альтернативное выражение только тогда, когда PHP вычислит условное выражение elseif как &true;. Следующий код, в зависимости от значений переменных, будет выводить «a больше b», «a равно b» или «a меньше b»: $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 разделена на два слова. $b): echo $a . " больше " . $b; else if ($a == $b): // Не скомпилируется. echo "Строка выше вызывает фатальную ошибку."; endif; /* Корректный способ: */ if ($a > $b): echo $a . " больше " . $b; elseif ($a == $b): // Заметьте, тут одно слово. echo $a . " равно " . $b; else: echo $a . " не больше и не равно " . $b; endif; ?> ]]>