Конструкция if-else
Условный оператор if-else часто называют оператором ветвления, т.к. он обеспечивает выполнение определенной команды только при условии истинности некоторого логического выражения. Его формат таков:
1 2 3 4 |
if (логическое выражение) итструкция1; else итструкция2; |
Если логическое выражение истинно,то выполняется инструкция1, а иначе — инструкция2. Конструкция else может опускаться.
Это своего рода точка принятия решения в программе. Представим что интерпретатор PHP это человек собирающийся перейти дорогу и напишем для него инструкцию:
1 2 3 4 5 6 7 |
$light = "зеленый"; if ($light == "зеленый"){ echo "переходим дорогу"; } else{ echo"стоим на месте"; } |
Рассмотрим эту конструкцию подробней. Мы пишем слово if и в круглых скобках указываем условие, после этого открываем фигурные скобки и в них описываем действие которое будет выполняться при этом условии. Дальше пишем слово else(что означает «иначе») и указываем в фигурных скобках как следует поступить программе, если первое условие не выполняется.
Оператор if-else вычисляет значение условного выражения и выполняет тот или иной фрагмент программного кода. Но что, если требуется проверить сразу несколько условий? Тут на помощь к нам придет конструкция elseif. Она позволяет проверять дополнительные условия, пока не будет найдено истинное или достигнут блок else.
С использованием инструкции elseif оператор if-else будет выглядить так:
1 2 3 4 5 6 7 8 |
if (условие) { Блок, выполняемый если условие истинно } elseif (условие) { Блок, выполняемый, если условие истинно } else { Блок, выполняемый, если все условия ложны } |
Обратите внимание, после закрывающей фигурной скобки не следует ставить точку с запятой.
Один условный оператор можно вложить в другой:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php $a=9; $b=33; if ($a > 0 && $b > 0){ if($a<$b){ echo "a меньше чем b"; } else{ echo "a больше чем b"; } } ?> |
Т.е. выполняется внешнее условие и если все ок(в нашем случае если обе переменные больше нуля), то начинает выполнятся внутреннее условие. Если же внешнее условие не выполнится, то ничего не произойдет — инструкция остановится.
Конструкция if-else имеет еще один альтернативный синтаксис:
1 2 3 4 5 6 7 |
if (логическое выражение): команды; elseif (другое логическое выражение): другие команды; else: иначе команды; endif |
Обратите внимание на расположение двоеточия. Его пропуск считаеться синтаксической ошибкой. Блоки else и elseif можно пропустить.