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