php手册 笔记 类型 -- 布尔类型

1. 布尔类型的true,false是不区分大小写的

2. 当转换为布尔类型时,以下将会返回false,其它的都返回true

  • the 布尔值 FALSE 自身
  • the 整型值 0 (零)
  • the 浮点型值 0.0 (零)
  • 空 字符串, 以及 字符串 "0"
  • 不包括任何元素的数组
  • 不包括任何成员变量的对象(仅PHP 4.0 适用)
  • 特殊类型 NULL (包括尚未设定的变量)
  • 从没有任何标记(tags)的XML文档生成的SimpleXML 对象

 

3. “0.00”转换为布尔型时,结果为true

4. 由于可以是使用以下代码来判断一个数组是否为空,这个效率跟empty,count来比较不知道怎么样

$a = !!array();   // This will === false; (as expected)

 

5. 布尔类型的false转换为int时,为0;转换为string类型时为空字符"",尝试以下代码

echo false ;
echo (false) ;
echo false+false ;

 

6. 你猜下面的代码输出是什么. 因为当==符号比较数字与字符串的时候,然后再进行数字比较。也就是这里的'all'先转换成数字0了,所有结果是true。但是var_dump(0==='all')则结果是false,因为===符不进行类型转换,就是会判断类型是否相同。

var_dump(== 'all'); //  take care

 

7. var_dump(false==0)将返回true,因为==会先把0转换为布尔类型。参考下面的比较类型

比较多种类型
运算数 1 类型运算数 1 类型结果
null 或 stringstring将 NULL 转换为 "",进行数字或词汇比较
bool 或 null任何其它类型转换为 boolFALSE < TRUE
objectobject内置类可以定义自己的比较,不同类不能比较,相同类和数组同样方式比较属性(PHP 4 中),PHP 5 有其自己的说明
stringresource 或 numberstringresource 或 number将字符串和资源转换成数字,按普通数学比较
arrayarray具有较少成员的数组较小,如果运算数 1 中的键不存在于运算数 2 中则数组无法比较,否则挨个值比较(见下例)
array任何其它类型array 总是更大
object任何其它类型

object 总是更大

 

 

 

 

 

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值