Логические операторы онлайн урок.


К логическим операторам относят операторы, которые применяются для значений логического типа данных. Рассмотрим эти операторы, выписав их по убыванию приоритета:

  • логическое отрицание: !
  • логическое умножение (конъюнкция , логическое И): &&
  • строгое логическое сложение (строгая дизъюнкция): xor
  • логическое сложение (дизъюнкция, логическое ИЛИ): ||

Для лучшего понимания будем ассоциировать false с 0, а true с любым ненулевым целым числом.

Логическое отрицание - это унарный оператор, который записывается перед переменной или значением булевского типа данных и возвращает противоположное значение, т.е. !true это false, а !false это true.

Логическое умножение - это бинарный оператор, который возвращает true, только если оба значения, к которым он применен, равны true. Для лучшего понимания, можно ассоциировать эту операцию с обычным умножением. Тогда

$a = true && false; // 1 * 0 = 0 (false)
$a = false && true; // 0 * 1 = 0 (false)
$a = false && false; // 0 * 0 = 0 (false)
$a = true && true; // 1 * 1 = 1 (true)


Логическое сложение - это бинарный оператор, который возвращает false, только если оба значения, к которым он применен, равны false. Для лучшего понимания, можно ассоциировать эту операцию с обычным сложением. Тогда


$a = true || false; // 1 + 0 = 1 (true)
$a = false || true; // 0 + 1 = 1 (true)
$a = false || false; // 0 + 0 = 0 (false)
$a = true || true; // 1 + 1 = 2 (true)


Тут все значения, которые не 0, ассоциируются с true.

Строгое логическое сложение - это бинарный оператор, который возвращает true, только примененный к разным значениям. Для лучшего понимания, можно ассоциировать эту операцию с взятием остатка от деления сумы значений на 2.


$a = true xor false; // (1 + 0) % 2 = 1 (true)
$a = false xor true; // (0 + 1) % 2 = 1 (true)
$a = true xor true; // (1 + 1) % 2 = 0 (false)
$a = false xor false; // (0 + 0) % 2 = 0 (false)


В примере ниже мы присваиваем переменным т.н. логические выражения - комбинации логических значений/переменных и логических операторов.

Замечание. Для того, чтобы задать нужную последовательность выполнения логических операторов необходимо группировать составляющие выражения круглыми скобками.



Проверьте свои знания
Вычислить значение выражения: false && true || false && true || !false && true

Проверьте свои знания
Вывести на экран true/false в зависимости о того, делится переменная $x на 2 или нет.