Перейти к содержимому

Операторы выбора в PHP

Урок 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.