转换为布尔值

       在平时写代码的时候经常会进行逻辑判断,当条件满足才去执行,最常用的就是用"=="去对比两边的值了,而"=="首先会将两边的值转换为相同的类型然后再进行对比,有的时候我们会将某个变量(或者其它)与TRUE/FALSE进行对比,那么那些值为TRUE哪些值为FALSE呢?
       之前有段时间也是对这个概念掌握地模糊,只是靠着感觉与调试去写代码,但这并不是长久之计,虽然最后也能完成任务但是较低了效率,增加了不必要的麻烦,在php手册中查了一下,将其记下,防止以后忘记。
       要明确地将一个值转换成 boolean,用 (bool) 或者 (boolean) 来强制转换。但是很多情况下不需要用强制转换,因为当运算符,函数或者流程控制结构需要一个 boolean 参数时,该值会被自动转换。
当转换为 boolean 时,以下值被认为是 FALSE

  • 布尔值 FALSE 本身
  • 整型值 0(零)
  • 浮点型值 0.0(零)
  • 空字符串,以及字符串 "0"
  • 不包括任何元素的数组
  • 特殊类型 NULL包括尚未赋值的变量
  • 从空标记生成的 SimpleXML 对象
所有其它值都被认为是 TRUE(包括任何资源 和 NAN)。
Warning -1 和其它非零值(不论正负)一样,被认为是 TRUE!
<?php
var_dump((bool) "");        // bool(false)
var_dump((bool) 1);         // bool(true)
var_dump((bool) -2);        // bool(true)
var_dump((bool) "foo");     // bool(true)
var_dump((bool) 2.3e5);     // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array());   // bool(false)
var_dump((bool) "false");   // bool(true)
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值