Ј.Д. Гримс
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Ј.Д. Гримс
Референца за `control-structures.elseif.php` со подобрена типографија и навигација.
Ј.Д. Гримс
(PHP 4, PHP 5, PHP 7, PHP 8)
elseif, како што сугерира името, е комбинација од if and else. Како
else, го проширува if
изјава за извршување на друга изјава во случај оригиналната
if изразот се проценува на
false. Сепак, за разлика од
else, тој ќе го изврши тој алтернативен израз само ако elseif условниот израз се оценува како true. На пример, следниот код би прикажал a е поголемо од b, a е еднакво на b
or a е помало од b:
<?php
if ($a > $b) {
echo "a is bigger than b";
} elseif ($a == $b) {
echo "a is equal to b";
} else {
echo "a is smaller than b";
}
?>
Може да има неколку elseifво иста
if изјава. Првиот
elseif израз (ако постои) што се оценува како
true би се извршил. Во PHP, можно е да се напише
else if (со два збора) и однесувањето би било идентично со она на elseif (со еден збор). Синтаксичкото значење е малку поинакво (истото однесување како C), но крајниот резултат е дека и двете би резултирале со сосема исто однесување.
На elseif изјавата се извршува само ако претходната if израз и сите претходни
elseif изразите се оценуваат како
false, а тековниот
elseif изразот се проценува на
true.
Забелешка: Имајте предвид дека
elseifandelse ifќе се смета за идентичен само кога се користат загради како во горниот пример. Кога се користи двоеточие за дефинирањеif/elseifуслови, употребата наelseifво еден збор станува неопходна. PHP ќе откаже со грешка при парсирање акоelse ifсе подели на два збора.
<?php
/* Incorrect Method: */
if ($a > $b):
echo $a." is greater than ".$b;
else if ($a == $b): // Will not compile.
echo "The above line causes a parse error.";
endif;<?php
/* Correct Method: */
if ($a > $b):
echo $a." is greater than ".$b;
elseif ($a == $b): // Note the combination of the words.
echo $a." equals ".$b;
else:
echo $a." is neither greater than or equal to ".$b;
endif;
?>