Логічні оператори 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() ніколи не буде викликано.
Будьте обережні з логічними операціями - не забувайте про подвоєння символу. Зверніть увагу, що, наприклад,
| і | | - два зовсім різних оператора, один з яких може потенційно повертати будь-яке число, а другий - тільки помилкові і істинні.
Оператори інкремента (+ +) і декремента (-) не працюють з логічними змінними.