看看php的boolean都有哪些,以及其有趣的用法

在写if的时候,在写while的时候,总感觉不写一个true或者false就难受。是的,你还不明确php里面都有哪些值是true,哪些值是false!

除了false的,都是true!

php里面为false的东西

  • 布尔值 FALSE 本身
  • 整型值 0(零)
  • 浮点型值 0.0(零)
  • 空字符串,以及字符串 “0”
  • 不包括任何元素的数组
  • 不包括任何成员变量的对象(仅 PHP 4.0 适用)
  • 特殊类型 NULL(包括尚未赋值的变量)
  • 从空标记生成的 SimpleXML 对象

既然说了除了false以外的都是true了,那么就别天真的以为-1是false了,它也是true。

有趣的boolean或运算,||和or

在或运算中,有||和or两个,

<?php
    $x=TRUE;
    $y=FALSE;
    $z=$y OR $x; //z的值为false
?>
<?php
    $x=TRUE;
    $y=FALSE;
    $z=$y || $x; //z的值为true
?>

不得不说or这个运算优先级是非常低的,它的优先级比赋值运算更低,所以第一个z的值为fasle。||的运算优先级要比赋值高,因此第二个z的值为true.

附录:php运算符优先级

从上到下,优先级依次降低

结合方向 运算符 附加信息
clone new clone 和 new
[ array()
++ — ~ (int) (float) (string) (array) (object) (bool) @ 类型和递增/递减
instanceof 类型
! 逻辑运算符
* / % 算术运算符
+ – . 算术运算符和字符串运算符
<< >> 位运算符
== != === !== <> 比较运算符
& 位运算符和引用
^ 位运算符
| 位运算符
&& 逻辑运算符
|| 逻辑运算符
? : 三元运算符
= += -= *= /= .= %= &= |= ^= <<= >>= => 赋值运算符
and 逻辑运算符
xor 逻辑运算符
or 逻辑运算符
, 多处用到

1.php运算符优先级(php文档连接)

2.php运算符优先级(本站链接)

赞赏

微信赞赏支付宝赞赏

其他

《看看php的boolean都有哪些,以及其有趣的用法》有1条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注