Логическая операция NOT (НЕ) определена следующим образом:
X
NOT X
FALSE
TRUE
TRUE
FALSE
Логическая операция AND (И) определена следующим образом:
X
Y
X AND Y
FALSE
FALSE
FALSE
FALSE
TRUE
FALSE
TRUE
FALSE
FALSE
TRUE
TRUE
TRUE
Логическая операция OR (ИЛИ) определена следующим образом:
X
Y
X OR Y
FALSE
FALSE
FALSE
FALSE
TRUE
TRUE
TRUE
FALSE
TRUE
TRUE
TRUE
TRUE
Соответствующие логические операторы PHP:
Булева операция
Оператор PHP
Пример
NOT
!
NOT(x) это !x
AND
&&
(b>0)AND(b<5) это (b>0)&&(b<5)
OR
||
(a<0)OR(a>5) это (a<0)||(a>5)
Возможно совместное использование нескольких логических операторов.
Необходимо помнить, что оператор ! (NOT) выполняется до операторов ||
(OR) и && (AND). Оператор && (AND) выполнятся до
оператора || (OR). Оператор || (OR) выполняется после оператора
&& (AND).
Примеры
Значение !(1&&0) равно TRUE. Так как приоритет скобок выше
приоритета логических операций, поэтому в начале выполняется операция
внутри скобок и дает 0 (FALSE) (см. таблицу AND), затем выполняется
операция !0 и она равна TRUE.
Значение !(1||1&&0) равно FALSE. Приоритет AND выше OR.
Значение !((1||1)&&0) равно TRUE. В начале выполняется операция внутри скобок.
Контрольные вопросы и задания
Какие еще логические операторы поддерживает PHP (кроме приведенных выше)?
Чему равно значение логического выражения (1||!1)&&(0||!1)?
Чему равно значение логического выражения !(!(1||0)&&(0||!1))?