Оператор If
При создании кода часто требуется выполнять различные действия на основе некоторого выбора. В PHP это можно делать с помощью условных операторов – оператора if, оператора if … else и оператора elseif.
if – этот оператор используется для выполнения блока кода, когда выполняется условие (true).
if...else – этот оператор используется для выполнения блока кода, когда условие выполняется (true), или для выполнения другого блока кода, когда условие не выполняется (false).
elseif – комбинация if и else. Оператор расширяет оператор if, чтобы выполнялся другой оператор в случае, если исходное выражение if оценивается как FALSE. В отличие от else он будет выполнять альтернативное выражение, только если условное выражение elseif оценивается как TRUE.
В том случае, когда необходимо выполнить блок кода, если выполняется некоторое условие (true), можно использовать оператор if.
Ниже представлен синтаксис оператора if:
if (условие) { выполняемый код }
Строки кода оператора if заключаются в фигурные скобки ({}). Эти скобки определяют начало (открывающая скобка {) и конец (закрывающая скобка }) оператора If. Следующий пример демонстрирует использование оператора if.
<?php
$number = 5;
if ($number <= 10) { echo "Число меньше или равно 10."; } ?>
Число меньше или равно 10.
В приведенном выше примере число 5 присваивается переменной $number. Затем сценарий PHP использует оператор сравнения "<=" (меньше или равно) для сравнения значения $number с числом 10. Если значение меньше или равно 10, оператор echo выводит сообщение " Число меньше или равно 10" в окне браузера. Можно видеть, что скобки применяются для ограничения блока оператора if. Открывающая скобка { появляется сразу после оператора условия, а закрывающая скобка } — в конце оператора if.
Вспомните, что все операторы PHP должны завершаться с помощью терминатора инструкции (;): echo "Число меньше или равно 10.";
В некоторых случаях может понадобиться предоставить альтернативное сообщение. В приведенном выше примере предположим, что переменная $number содержит число 15, которое больше 10. Альтернативное сообщение должно выводиться, чтобы пользователь знал: число больше 10. Это можно выполнить с помощью оператора if … else.
<?php
$number = 15;
if ($number <= 10) { echo "Число меньше или равно 10."; }
else { echo "Число больше 10"; } ?>
Число больше 10.
В приведенном выше примере число 15 присваивается переменной $number. Затем сценарий PHP использует оператор сравнения "<=" (меньше или равно) для сравнения значения $number с числом 10. Если это значение меньше или равно 10, оператор echo выводит сообщение "Число меньше или равно 10" в окне браузера. Теперь в код добавлен оператор else, чтобы выводить альтернативное сообщение, если условие в операторе if не выполняется. Альтернативное сообщение "Число больше 10" выводится в окне браузера, если оператор условия возвращает false. Здесь также используются скобки для ограничения блока оператора if. Открывающая скобка { появляется сразу после оператора условия, а закрывающая скобка } — в конце оператора if. Скобки также используются для ограничения альтернативного блока оператора else.
Третий тип условного оператора является структурой elseif. Оператор elseif является комбинацией if и else. Подобно else он расширяет оператор if, чтобы выполнить другой оператор, если условное выражение исходного if оценивается как FALSE. Однако в отличие от else он будет выполнять это альтернативное выражение, только если условное выражение в elseif оценивается как TRUE. В одном операторе if может быть несколько структур elseif. Первое выражение elseif (если такое имеется), которое оценивается как TRUE, будет выполнено.
<?php
$number = 15;
if ($number < 10) { echo "Число меньше 10."; } elseif ($number == 10) { echo "Число равно 10."; }
else { echo "Число больше 10."; } ?>
Число больше 10.
В этом примере числовое значение переменной $number сравнивается с 10. Сперва оператор if проверяет, что $number меньше 10. Если этот оператор выполняется (true), выводится сообщение "Число меньше 10". Затем оператор elseif используется для проверки, что $number равно 10. Если этот оператор оценивается как true, выводится сообщение "Число равно 10". Оператор elseif выполняется, ТОЛЬКО если оператор if возвращает FALSE. Наконец, если операторы if и elseif возвращают FALSE, выполняется оператор else и выводится сообщение "Число больше 10". В то время как оператор if позволяет проверить только одно условие, структуру if можно применять для проверки множества условий.
Следующий пример использует функцию checkdate() (раздел 3-6), функцию explode() (раздел 3-2) и оператор if … else для проверки правильности строки даты.
<?php
$orig_date = "09/19/2005"; $date = explode("/", "$orig_date");
$month = $date[0]; $day = $date[1]; $year = $date[2];
$result = checkdate($month, $day, $year);
if ($result == true) { echo "Правильная дата"; } else { echo "Неправильная дата!"; } ?>
Правильная дата
Операторы if можно использовать "в одиночку" либо как часть оператора if...else или if...elseif...else. В любом случае вы обнаружите, что эта структура будет важным элементом в любой программе.