Логические операторы в 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-скрипты

Оставить комментарий