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

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

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