关闭

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

141人阅读 评论(0) 收藏 举报

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

object 总是更大

 

 

 

 

 

 

 


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8067次
    • 积分:203
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类