Логічні оператори PHP

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

Логічні оператори призначені виключно для роботи з логічними виразами і повертають false або true.

Приведем таблицу логических операторов PHP:

Приклад Назва Результат
$a and $b Логічне 'і' TRUE якщо і $a, і $b TRUE.
$a or $b Логічне 'або' TRUE якщо або $a, або $b TRUE.
$a xor $b Виключення 'або' TRUE якщо $a, або $b TRUE, но не або.
! $a Заперечення TRUE якщо $a не TRUE.
$a && $b Логічне 'і' TRUE якщо і $a, і $b TRUE.
$a || $b Логічне 'або' TRUE якщо або $a, або $b TRUE.

Зміст двох різних варіантів для операторів "and" і "or" в тому, що вони працюють з різними пріоритетами.
Слід зауважити, що обчислення логічних виразів, що містять такі оператори, йде завжди зліва направо, при цьому, якщо результат уже очевидний
(наприклад, false && что-то всегда дает false), то обчислення обриваються, навіть якщо у виразі присутні виклики функцій.
Наприклад, в операторі $logic = 0&&(time()>100); стандартна функція time() ніколи не буде викликано.

Будьте обережні з логічними операціями - не забувайте про подвоєння символу. Зверніть увагу, що, наприклад,
| і | | - два зовсім різних оператора, один з яких може потенційно повертати будь-яке число, а другий - тільки помилкові і істинні.

Оператори інкремента (+ +) і декремента (-) не працюють з логічними змінними.