Оператори
PHP Manual

Логически оператори

Логически оператори
Пример Наименование Резултат
$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.

Причината за съществуването на две разновидности на операторите "и" и "или" е, че те оперират с различен приоритет. (Вж. Приоритет на операторите.)

Example #1 Нагледно пояснение на логическите оператори

<?php

// foo() никога няма да бъде извикана, тъй като операторите водят до късо съединение
$a = (false && foo());
$b = (true  || foo());
$c = (false and foo());
$d = (true  or  foo());

// "||" has има по-висок приоритет от "or"
$e false || true// на $e ще бъде присвоена стойността от израза (false || true), която е true
$f false or true// на $f ще бъде пристоена стойност false
var_dump($e$f);

// "&&" има по-висок приоритет от "and"
$g true && false// на $g ще бъде присвоена стойността от израза (true && false), която е false
$h true and false// на $h ще бъде пристоена стойност true
var_dump($g$h);
?>

Примерът по-горе ще изведе нещо подобно на:

bool(true)
bool(false)
bool(false)
bool(true)

Оператори
PHP Manual