易百教程

PHP逻辑运算符

PHP的逻辑运算符用于布尔值。布尔值为truefalse。PHP在需要时自动将表达式计算为truefalse
例如,以下表达式都计算为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具有六个逻辑运算符。它们使用truefalse布尔值来生成truefalse的结果:

操作符 示例 结果
&&(与) $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 如果$xfalse,则结果为true; 如果$xtrue,则结果为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