Опубликован: 08.05.2007 | Доступ: свободный | Студентов: 12879 / 3012 | Оценка: 4.13 / 3.77 | Длительность: 12:58:00
Лекция 4:

Структуры принятия решений

< Лекция 3 || Лекция 4: 12 || Лекция 5 >
Аннотация: Структуры принятия решений (или структуры выбора) в PHP, мало чем отличаются от остальных языков программирования - поэтому лекция достаточно небольшая

Оператор 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". В то время как оператор elseif позволяет проверить только одно условие, структуру if можно применять для проверки множества условий.

Следующий пример использует функцию checkdate(), функцию explode() и оператор 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. В любом случае вы обнаружите, что эта структура будет важным элементом в любой программе.

< Лекция 3 || Лекция 4: 12 || Лекция 5 >
Максим Матросов
Максим Матросов
Наталья Джабасова
Наталья Джабасова