Логические операторы в PHP.
Логические операторы в PHP позволяют создавать более компактные определения в условных выражениях. Допустим, нам требуется определить, что переменная х входит в диапазон от 0 до 5. Не имея возможности использовать логические операторы, нам бы пришлось создать двойную проверку: сначала проверить, что х > 0, а потом проверить, что х < 5. Получилось бы что-то вроде такой конструкции:
1 2 3 4 5 6 7 8 |
<?php $x = 2; if($x >0 ){ if($x < 5){ //x соответствует нашему диапазону } } ?> |
Согласитесь, выражение достаточно громоздкое. Используя логические операторы PHP, мы можем создать более компактное и изящное выражение для проверки:
1 2 3 4 5 6 |
<?php $x = 2; if($x >0 && $x < 5){ //x соответствует нашему диапазону } ?> |
По сути, существует 4 основных оператора, которые могут иметь один или два способа написания:
1. AND – логический оператор «и». Возвращает true, если обе части выражения соответствуют истине. Рассмотрим пример:
1 2 3 |
$x=5 $y=2 $x < 9 and $y > 0 // получим true, т.к. обе части верны |
Оператор AND имеет альтернативную форму записи: &&. То есть мы можем писать так: $x < 9 && $y > 0
2. OR – логический оператор «или». Возвращает true, если хотя бы одна часть выражения соответствуют истине. Рассмотрим пример:
1 2 |
$x=5 $x < 4 or $x > 0 // получим true, т.к. одна из частей верна $x > 0 |
Оператор OR имеет альтернативную форму записи: || (две вертикальные черты). То есть мы можем писать так:
1 |
$x < 4 || $x > 0 |
3. XOR – логический оператор, возвращающий true, если одно из выражений истинно, но не оба одновременно. Пример:
1 2 3 |
$x=5 $y=2 ($x==5 xor $y==2) //вернет false, т.к. истинны оба выражения. |
А выражение ($x==2 xor $y==2) //вернет true, т.к. истинно лишь одна из частей выражения, но не оба одновременно.
4. Not – оператор отрицания. Обычно пишется, как «!». Пример:
1 2 3 |
$x=4 $y=6 !($x == $y) //вернет true |
Данное выражение можно написать короче: $x != $y
Стоит отметить, что операторы «||» и «&&» имеют больший приоритет по сравнению с операторами AND и OR. Это означает, что в сложных выражениях, объединяющих несколько логических операторов, операторы «||» и «&&» будут выполняться в первую очередь.
Другие посты
Категория: PHP-скрипты