PHP的逻辑运算符用于布尔值。布尔值为true
或false
。PHP在需要时自动将表达式计算为true
或false
。
例如,以下表达式都计算为true
:
1
1 == 1
3 > 2
"hello" != "goodbye"
以下表达式都计算为false
:
3 < 2
gettype( 3 ) == "array"
"hello" == "goodbye"
此外,PHP认为以下值为false
:
- 字面值:
false
- 整数零(
0
) - 浮点数零(
0.0
) - 空字符串(
""
) - 字符串零(
"0"
) - 一个零元素的数组
- 特殊类型
null
(包括任何未设置的变量) - 从空XML标记创建的SimpleXML对象
在布尔上下文中,所有其他值都被视为true
。可以将布尔值与逻辑运算符组合使用。
PHP具有六个逻辑运算符。它们使用true
或false
布尔值来生成true
或false
的结果:
操作符 | 示例 | 结果 |
---|---|---|
&& (与) |
$x && $y |
如果$x 和$y 都计算为true ,结果则为true ; 否则为false 。 |
and |
$x and $y |
如果$x 和$y 都计算为true ,结果则为true ; 否则为false 。 |
ΙΙ | $x ΙΙ $y | 如果$x 和$y 其中一个计算为true ,结果则为true ; 否则为false 。 |
or |
$x or $y |
如果$x 或$y 的计算结果为true ,则为true ; 否则为false 。 |
xor |
$x xor $y |
如果$x 或$y (但不是两者)的计算结果为true ,则为true ; 否则为false 。 |
! |
!$x |
如果$x 为false ,则结果为true ; 如果$x 为true ,则结果为false 。 |
以下是一些逻辑运算符的简单示例:
<?php
$x = 2;
$y = 3;
echo ( ($x > 1) && ($x < 5) ) . " \n "; // 显示 1 (true)
echo ( ($x == 2) or ($y == 0) ) . " \n "; // 显示 1 (true)
echo ( ($x == 2) xor ($y == 3) ) . " \n "; // 显示 "" (false) ,因为两个表达式都为:true
echo ( !($x == 5 ) ) . " \n "; // 显示 1 (true) 因为 $x 不等于 5
?>
执行上面示例代码,得到以下结果:
D:\>php test.php
1
1
1