- Условия if, esle, elseif Альтернативный синтаксис if — endif
- Оператор else
- Оператор elseif/else if
- Альтернативный синтаксис
- Php if else endif syntax
- Php if else endif syntax
- Конструкция if..else
- else
- elseif
- Определение условия
- Альтернативный синтаксис if
- Комбинированный режим HTML и PHP
- Переменная a больше нуля
- Переменная a больше нуля
- Переменная a меньше нуля
- Переменная a равна нулю
- Переменная a больше нуля
- Переменная a меньше нуля
- Переменная a равна нулю
- Тернарная операция
- PHP endif Keyword
- Related Pages
- More Examples
- Example
- Example
- COLOR PICKER
- Report Error
- Thank You For Helping Us!
- Php if else endif syntax
- User Contributed Notes 10 notes
Условия if, esle, elseif
Альтернативный синтаксис if — endif
Конструкция if является одной из наиболее важных в PHP . Простейшей формой конструкции if является следующее выражение:
if ( expression ) <
instruction ;
>
Если условие ( expression ) выполняется ( TRUE ), тогда выполняется блок инструкций ( instruction ) В противном случае ( FALSE ) блок инструкций не выполняется. Инструкции if могут быть бесконечно вложены в другие инструкции if .
$light = ‘green’ ; // цвет — зеленый
if ( $light == ‘green’ ) < // равно-ли то, что лежит в переменной $light,тому,
// что лежит в правой части. (==) — оператор сравнения.
echo ‘We may go’ ; // если равно, то мы можем идти.
echo ‘
‘ ;
// выведет: ‘We may go’ (Мы можем идти)
>
?>
Если инструкция одна, то можно записать без операторных (фигурных) скобок:
Оператор else
Оператор else (иначе) выполняется в том случае, когда условие не выполняется.
$light = ‘red’ ; // цвет — красный
if ( $light == ‘green’ ) < // ложь (FALSE)
echo ‘We may go’ ;
> else <
echo ‘We must stop’ ; // выполняется блок else
>
echo ‘
‘ ;
// выведет: ‘We must stop’ (Мы должны остановиться)
?>
Оператор elseif/else if
Оператор elseif (иначе если) выполняется тогда, когда условие if() — FALSE , то есть не выполняется, а условие elseif() — TRUE , то есть выполняется. Если все условия не выполняются ( FALSE ), то сработает блок else (иначе). Рекомендуется использовать вариант — elseif (слитный). Может быть несколько elseif в одном выражении if .
$light = ‘yellow’ ; // цвет — желтый
if ( $light == ‘green’ ) < // ложь (FALSE)
echo ‘We may go’ ;
> elseif ( $light == ‘yellow’ ) < // TRUE
echo ‘We may ready’ ; // выполняется блок elseif (Мы можем приготовиться)
> else <
echo ‘We must stop’ ;
>
echo ‘
‘ ;
// выведет: ‘We may ready’ (Мы можем приготовиться)
?>
Альтернативный синтаксис
PHP предлагает альтернативный синтаксис для некоторых его управляющих структур, а именно: if , while , for , foreach и switch . В каждом случае основной формой альтернативного синтаксиса является изменение открывающей фигурной скобки на двоеточие ( : ), а закрывающей скобки на endif; , endwhile; , endfor; , endforeach; или endswitch; соответственно.
Пример альтернативного синтаксиса:
— блок HTML будет показан только если переменная $a равна 5 .
Альтернативный синтаксис также применяется и к else и elseif .
Структура if с elseif и else в альтернативном формате:
$a = 7 ;
if ( $a == 5 ) :
echo «a равно 5» ;
echo «. » ;
elseif ( $a == 6 ) :
echo «a равно 6» ;
echo «. » ;
else :
echo «a не равно ни 5 ни 6» ;
endif ;
// выведет: ‘a не равно ни 5 ни 6’
?>
Смешивание синтаксиса в одном и том же блоке управления не поддерживается .
Php if else endif syntax
Конструкция elseif , как её имя и говорит есть сочетание if и else . Аналогично else , она расширяет оператор if для выполнения различных выражений в случае, когда условие начального оператора if эквивалентно false . Однако, в отличие от else , выполнение альтернативного выражения произойдёт только тогда, когда условие оператора elseif будет являться равным true . К примеру, следующий код может выводить a больше, чем b , a равно b или a меньше, чем b :
if ( $a > $b ) echo «a больше, чем b» ;
> elseif ( $a == $b ) echo «a равен b» ;
> else echo «a меньше, чем b» ;
>
?>?php
Может быть несколько elseif в одном выражении if . Первое выражение elseif (если оно есть) равное true будет выполнено. В PHP вы также можете написать else if (в два слова), и тогда поведение будет идентичным elseif ‘ (в одно слово). Синтаксически значение немного отличается (то же поведение, что и у C), но в конечном итоге оба выражения приведут к одному и тому же результату.
Выражение elseif выполнится, если предшествующее выражение if и предшествующие выражения elseif эквивалентны false , а текущий elseif равен true .
Замечание: Заметьте, что elseif и else if будут равнозначны только при использовании фигурных скобок, как в примерах выше. Если используются синтаксис с двоеточием для определения условий if / elseif , возникает необходимость использования elseif в одном слове. Если разбить else if на два слова, 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 if else endif syntax
Условные конструкции позволяют направлять работу программы в зависимости от условия по одному из возможных путей. И одной из таких конструкций в языке PHP является конструкция if..else
Конструкция if..else
Конструкция if (условие) проверяет истинность некоторого условия, и если оно окажется истинным, то выполняется блок выражений, стоящих после if. Если же условие ложно, то есть равно false, тогда блок if не выполняется. Например:
0) < echo "Переменная a больше нуля"; >echo "
конец выполнения программы"; ?>
Блок выражений ограничивается фигурными скобками. И так как в данном случае условие истинно (то есть равно true): значение переменной $a больше 0, то блок инструкций в фигурных скобках также будет выполняться. Если бы значение $a было бы меньше 0, то блок if не выполнялся.
Если блок if содержит всего одну инструкцию, то можно опустить фигурные скобки:
0) echo "Переменная a больше нуля"; echo "
конец выполнения программы"; ?>
Можно в одной строке поместить всю конструкцию:
if($a>0) echo "Переменная a больше нуля";
В данном случае к блоку if относится только инструкция echo «Переменная a больше нуля»;
else
Блок else содержит инструкции, которые выполняются, если условие после if ложно, то есть равно false:
0) < echo "Переменная a больше нуля"; >else < echo "Переменная a меньше нуля"; >echo "
конец выполнения программы"; ?>
Если $a больше 0, то выполняется блок if, если нет, то выполняется блок else.
Поскольку здесь в обоих блоках по одной инструкции, также можно было не использовать фигурные скобки для определения блоков:
if($a > 0) echo "Переменная a больше нуля"; else echo "Переменная a меньше нуля";
elseif
Конструкция elseif вводит дополнительные условия в программу:
Можно добавить множество блоков elseif . И если ни одно из условий в if или elseif не выполняется, тогда срабатывает блок else.
Определение условия
Выше в качестве условия применялись операции сравнения. Однако в реальности в качестве условия может применяться любое выражение, а не только такое, которое возвращает true или false . Если передаваемое выражение равно 0, то оно интерпретируется как значение false . Другие значения рассматриваются как true :
if (0) <> // false if (-0.0) <> // false if (-1) <> // true if ("") <> // false (пустая строка) if ("a") <> // true (непустая строка) if (null) <> // false (значие отсутствует)
Альтернативный синтаксис if
PHP также поддерживает альтернативный синтаксис для конструкции if..else , при которой вместо открывающей фигурной скобки ставится двоеточие, а в конце всей конструкции ставится ключевое слово endif .
$a = 5; if($a > 0): echo "Переменная a больше нуля"; elseif($a < 0): echo "Переменная a меньше нуля"; else: echo "Переменная a равна нулю"; endif;
Комбинированный режим HTML и PHP
Также мы можем написать конструкцию if..else иным образом, переключаясь внутри конструкции на код HTML:
0) < ?>Переменная a больше нуля
?>
В данном случае само условие указывется в отдельном блоке php: 0) < ?>. Важно, что при этом этот блок содержит только открывающую фигурную скобку "
Завершается конструкция if другим блоком php, который содержит закрывающую фигурную скобку: ?>
Между этими двумя блоками php располагается код, который отображается на html-странице, если условие в if истинно. Причем этот код представляет именно код html, поэтому здесь можно разместить различные элементы html, как в данном случае элемент
При необходимости можно добавить выражения else и elseif :
0) < ?>Переменная a больше нуля
elseif($a < 0) < ?>Переменная a меньше нуля
else < ?>Переменная a равна нулю
?>
Также можно применять альтернативный синтаксис:
0): ?>Переменная a больше нуля
Переменная a меньше нуля
Переменная a равна нулю
Тернарная операция
Тернарная операция состоит из трех операндов и имеет следующее определение: [первый операнд - условие] ? [второй операнд] : [третий операнд] . В зависимости от условия тернарная операция возвращает второй или третий операнд: если условие равно true , то возвращается второй операнд; если условие равно false , то третий. Например:
Если значение переменной $a меньше $b и условие истинно, то переменная $z будет равняться $a + $b . Иначе значение $z будет равняться $a - $b
PHP endif Keyword
The endif keyword is used to mark the end of an if conditional which was started with the if(. ): syntax. It also applies to any variation of the if conditional, such as if. elseif and if. else .
Related Pages
Read more about conditional statements in our PHP if else Tutorial.
More Examples
Example
End an if. else conditional:
Example
End an if. elseif. else conditional:
$a = 4;
if($a < 5):
echo "Less than five";
elseif($a < 10):
echo "More than five but less than ten";
else:
echo "Greater than ten";
endif;
?>?php
COLOR PICKER
Report Error
If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:
Thank You For Helping Us!
Your message has been sent to W3Schools.
Top Tutorials
Top References
Top Examples
Get Certified
W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.
Php if else endif syntax
Often you'd want to execute a statement if a certain condition is met, and a different statement if the condition is not met. This is what else is for. else extends an if statement to execute a statement in case the expression in the if statement evaluates to false . For example, the following code would display a is greater than b if $a is greater than $b , and a is NOT greater than b otherwise:
The else statement is only executed if the if expression evaluated to false , and if there were any elseif expressions - only if they evaluated to false as well (see elseif).
Note: Dangling else
In case of nested if - else statements, an else is always associated with the nearest if .
Despite the indentation (which does not matter for PHP), the else is associated with the if ($b) , so the example does not produce any output. While relying on this behavior is valid, it is recommended to avoid it by using curly braces to resolve potential ambiguities.
User Contributed Notes 10 notes
An alternative and very useful syntax is the following one:
statement ? execute if true : execute if false
Ths is very usefull for dynamic outout inside strings, for example:
print('$a is ' . ($a > $b ? 'bigger than' : ($a == $b ? 'equal to' : 'smaler than' )) . ' $b');
This will print "$a is smaler than $b" is $b is bigger than $a, "$a is bigger than $b" if $a si bigger and "$a is equal to $b" if they are same.
If you're coming from another language that does not have the "elseif" construct (e.g. C++), it's important to recognise that "else if" is a nested language construct and "elseif" is a linear language construct; they may be compared in performance to a recursive loop as opposed to an iterative loop.
$limit = 1000 ;
for( $idx = 0 ; $idx < $limit ; $idx ++)
< $list []= "if(false) echo \" $idx ;\n\"; else" ; >
$list []= " echo \" $idx \n\";" ;
$space = implode ( " " , $list );| // if . else if . else
$nospace = implode ( "" , $list ); // if . elseif . else
$start = array_sum ( explode ( " " , microtime ()));
eval( $space );
$end = array_sum ( explode ( " " , microtime ()));
echo $end - $start . " seconds\n" ;
$start = array_sum ( explode ( " " , microtime ()));
eval( $nospace );
$end = array_sum ( explode ( " " , microtime ()));
echo $end - $start . " seconds\n" ;
?>
This test should show that "elseif" executes in roughly two-thirds the time of "else if". (Increasing $limit will also eventually cause a parser stack overflow error, but the level where this happens is ridiculous in real world terms. Nobody normally nests if() blocks to more than a thousand levels unless they're trying to break things, which is a whole different problem.)
There is still a need for "else if", as you may have additional code to be executed unconditionally at some rung of the ladder; an "else if" construction allows this unconditional code to be elegantly inserted before or after the entire rest of the process. Consider the following elseif() ladder: