php 逻辑运算符

php 逻辑运算符

例子 名称 结果

$a and $b   And(逻辑与)   TRUE,如果 $a 与 $b 都为 TRUE。

$a or $b   Or(逻辑或)    TRUE,如果 $a 或 $b 任一为 TRUE。

$a xor $b   Xor(逻辑异或)  TRUE,如果 $a 或 $b 任一为 TRUE,但不同时是。

! $a Not(逻辑非) TRUE, 如果 $a 不为 TRUE。

$a && $b   And(逻辑与)   TRUE,如果 $a 与 $b 都为 TRUE。

$a || $b   Or(逻辑或)    TRUE,如果 $a 或 $b 任一为 TRUE。

  1. <?php
  2. $a=true;
  3. $b=false;
  4. echo "And(逻辑与)"; //TRUE,如果 $a 与 $b 都为 TRUE
  5. echo $a and $b; //返回 空 false;
  6. echo "Or(逻辑或)"; //TRUE,如果 $a 与 $b 都为 TRUE
  7. echo $a or $b; //返回 1 TRUE;
  8. echo "Xor(逻辑异或)"; //TRUE,如果 $a 或 $b 任一为 TRUE,但不同时是
  9. echo $a xor $b; //返回 1 TRUE;
  10. echo "Not(逻辑非)"; //TRUE, 如果 $a 不为 TRUE
  11. echo !$a; //返回 空 false;
  12. echo "And(逻辑与)"; //TRUE,如果 $a 与 $b 都为 TRUE
  13. echo $a && $b; //返回 空 false;
  14. echo "Or(逻辑或)"; //TRUE,如果 $a 或 $b 任一为 TRUE
  15. echo $a || $b; //返回 1 TRUE;
  16. ?>
  17. <?php
  18. // 下面的 foo() 不会被调用,因为它们被运算符“短路”了。
  19. $a = (false && foo());
  20. $b = (true || foo());
  21. $c = (false and foo());
  22. $d = (true or foo());
  23. // "||" 的优先级比 "or" 高
  24. $e = false || true; // $e 被赋值为 (false || true),结果为 true
  25. $f = false or true; // $f 被赋值为 false [Altair注:"=" 的优先级比 "or" 高]
  26. var_dump($e, $f);
  27. // "&&" 的优先级比 "and" 高
  28. $g = true && false; // $g 被赋值为 (true && false),结果为 false
  29. $h = true and false; // $h 被赋值为 true [Altair注:"=" 的优先级比 "and" 高]
  30. var_dump($g, $h);
  31. ?>
  32. //以上例程的输出类似于:
  33. //bool(true)
  34. //bool(false)
  35. //bool(false)
  36. //bool(true)