Урок 4 Операторы выбора
В данном уроке рассмотрим операторы выбора и их использование в языке программирования PHP
Операторы выбора
условный оператор if…else
переключатель switch
условную операцию
Условный оператор, синтаксис — полная запись
if (условие) оператор_1 else оператор_2
— короткая запись
if (условие) оператор_1
условие — логическая переменная, выражение.
оператор_1 — выполнится только тогда, когда условие истинно!
оператор_2 — выполнится только тогда, когда условие ложно!
Примеры:
$bool1 = true; if ($bool1) echo 'Условие истинно'; else echo 'Условие ложно'; //Результат: "Условие истинно" $bool1 = true; $bool2 = true; еif ($bool1 && $bool2) echo 'Условие истинно'; else echo 'Условие ложно'; //Результат: "Условие истинно" $bool1 = true; $bool2 = false; if ($bool1 && $bool2) echo 'Условие истинно'; else echo 'Условие ложно'; //Результат, $bool2 ложь: "Условие ложно" $bool1 = true; $bool2 = false; if ($bool1 || $bool2) echo 'Условие истинно'; else echo 'Условие ложно'; //Результат, $bool1 истина: "Условие истинно" // Выполнение нескольких операторов в условиях $bool1 = true; $bool2 = false; if ($bool1 || $bool2) { echo 'Условие истинно'; echo ' так как $bool1 истинно'; }else echo 'Условие ложно'; //Результат, $bool1 истина: "Условие истинно так как $bool1 истинно"
Примеры условных выражений:
5 > 2 — true
3 > 9 — false
$a == 3 — Если $a равно 3, тогда true, если не равно, тогда false
$b != 2 — Если $b не равно 2, тогда true, если равно 2, тогда false
В примере рассмотрены условия и логические операторы такие как: && или AND, || или OR.
Существует еще оператор отрицания ! (восклицательный знак) например:
$bool1 = true; if (!$bool1) echo 'Условие истинно'; else echo 'Условие ложно'; //Результат: "Условие ложно"
Переключатель switch
Оператор выбора из известных значений, синтаксис:
switch($znach):
case(val_1): action_1; break;
case(val_2): action_2; break;
case(val_n): action_n; break;
default: action;
endswitch;
Если $znach равно val_1 тогда выполнится action_1, иначе
если $znach равно val_2 тогда выполнится action_2, иначе
если $znach равно val_n тогда выполнится action_n, иначе
выполнится action (секция default)
Операторы break и default не обязательны.
$znach = 2; switch($znach): case(1): echo 'Переменная $znach равна 1'; break; case(2): echo 'Переменная $znach равна 2'; break; default: echo 'Переменная $znach не равна ни 1, ни 2'; endswitch; //Результат работы: "Переменная $znach равна 2" //Пропущен break и выполняется все до первого break $znach = 'add'; switch($znach): case('add'): case('edit'): echo 'Редактирование данных'; break; default: echo 'Переменная $znach не равна ни add, ни edit'; endswitch; //Результат работы: "Редактирование данных" //Пропущен default и результата может не быть! $znach = 'delete'; switch($znach): case('add'): echo 'Добавление данных'; break; case('edit'): echo 'Редактирование данных'; break; endswitch; //Результат работы: нет, так как переменная $znach не равна ни add ни edit и default: нет
Условная операция, синтаксис
условие ? оператор_1 : оператор_2
Если условие истинно, выполняется оператор_1, если условие ложно выполняется оператор_2