Логическая операция NOT (НЕ) определена следующим образом:

XNOT X
FALSE TRUE
TRUE FALSE

Логическая операция AND (И) определена следующим образом:

XYX AND Y
FALSE FALSE FALSE
FALSE TRUE FALSE
TRUE FALSE FALSE
TRUE TRUE TRUE

Логическая операция OR (ИЛИ) определена следующим образом:

XYX 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. В начале выполняется операция внутри скобок.

Контрольные вопросы и задания

  1. Какие еще логические операторы поддерживает PHP (кроме приведенных выше)?
  2. Чему равно значение логического выражения (1||!1)&&(0||!1)?
  3. Чему равно значение логического выражения !(!(1||0)&&(0||!1))?