| 运算符 | 名称 | 例子 | 结果 | 
|---|---|---|---|
| and | 与 | $x and $y | 如果 $x 和 $y 都为 true,则返回 true。 | 
| or | 或 | $x or $y | 如果 $x 和 $y 至少有一个为 true,则返回 true。 | 
| xor | 异或 | $x xor $y | 如果 $x 和 $y 有且仅有一个为 true,则返回 true。 | 
| && | 与 | $x && $y | 如果 $x 和 $y 都为 true,则返回 true。 | 
| || | 或 | $x || $y | 如果 $x 和 $y 至少有一个为 true,则返回 true。 | 
| ! | 非 | !$x | 如果 $x 不为 true,则返回 true。 | 
“与”和“或”是两种不同形式的运算符。
 原因是它们运算的优先级不同(见php运算符优先级)。
逻辑运算符示例
- <?php
 - // --------------------
 - // foo() 根本没机会被调用,被运算符“短路”了
 - $a = ( false && foo ());
 - $b = ( true || foo ());
 - $c = ( false and foo ());
 - $d = ( true or foo ());
 - // --------------------
 - // "||" 比 "or" 的优先级高
 - // 表达式 (false || true) 的结果被赋给 $e
 - // 等同于:($e = (false || true))
 - $e = false || true ;
 - // 常量 false 被赋给 $f,true 被忽略
 - // 等同于:(($f = false) or true)
 - $f = false or true ;
 - var_dump ( $e , $f );
 - // --------------------
 - // "&&" 比 "and" 的优先级高
 - // 表达式 (true && false) 的结果被赋给 $g
 - // 等同于:($g = (true && false))
 - $g = true && false ;
 - // 常量 true 被赋给 $h,false 被忽略
 - // 等同于:(($h = true) and false)
 - $h = true and false ;
 - var_dump ( $g , $h );
 - ?>
 
以上例程的输出类似于:
- bool(true)
 - bool(false)
 - bool(false)
 - bool(true)