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

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

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