Логічні оператори 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() ніколи не буде викликано.

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

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