Контролни структури
PHP Manual

elseif/else if

elseif, както подсказва и името й, е комбинация от if и else. Също както else, тя разширява конструкцията if така, че да изпълни различна инструкция, в случай че първоначалният израз if се е изчислил на FALSE. За разлика от else обаче тя ще изпълни този алтернативен израз само ако условният израз 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";
}
?>

В рамките на една конструкция if може да има много изрази elseif. Първият израз elseif (ако има такъв), който се изчисли на TRUE ще бъде изпълнен. В PHP можете също да напишете и 'else if' (с две думи) и поведението му ще бъде идентично на 'elseif' (с една дума). Синтактичното значение е малко по-различно (ако сте запознати със C, тук е налице същото поведение), но последният ред е този, който и в двата случая ще има абсолютно същото поведение.

Конструкцията elseif се изпълнява само ако предшестващият израз if и всички предшестващи изрази elseif се изчислят на FALSE и текущият израз elseif се е изчислил на TRUE.

Забележка: Забележете, че elseif и else if ще бъдат разгледани като напълно еднакви, единствено когато се използват къдрави скоби, както в горния пример. Когато използвате двоеточие, за да дефинирате вашите условия if/elseif, не трябва да разделяте else if на две думи, в противен случай PHP ще се провали със синтактична грешка.

<?php

/* Неправилен метод: */
if($a $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;

?>


Контролни структури
PHP Manual