您的位置:首页 > 编程语言 > PHP开发

php 0,null,empty,空,false,字符串关系(转)

2015-05-28 15:03 579 查看
在php中由于是弱类型语言,不同类型值之间可以隐式转换,使得false,null,”,0,’0′这几个值的比较有些混乱,现总结一下:

//相等判断

'' == NULL == 0 == false (相等)
array() = 0 == NULL == false (相等)
array() <> '' (不相等)

//恒等判断
//任何两个数比较都不恒等

var_dump(false == FALSE); //bool(true)
var_dump(false === FALSE); //bool(true)
var_dump(true == TRUE); //bool(true)
var_dump(true === TRUE); //bool(true)
var_dump('' == NULL); //bool(true)
var_dump('' === NULL); //bool(false)
var_dump('' == 0); //bool(true)
var_dump('' === 0); //bool(false)
var_dump('' == false); //bool(true)
var_dump('' === false); //bool(false)
var_dump('' == true); //bool(false)
var_dump('' === true); //bool(false)
var_dump(null == 0); //bool(true)
var_dump(null === 0); //bool(false)
var_dump(null == false); //bool(true)
var_dump(null === false); //bool(false)
var_dump(null == true); //bool(false)
var_dump(null === true); //bool(false)
var_dump(0 == false); //bool(true)
var_dump(0 === false); //bool(false)
var_dump(0 == true); //bool(false)
var_dump(0 === true); //bool(false)

//对true的一些判断

var_dump('1' == true); //bool(true)
var_dump('1' === true); //bool(false)
var_dump(1 == true); //bool(true)
var_dump(1 === true); //bool(false)
var_dump(array() == true); //bool(false)
var_dump(array() === true); //bool(false)

//array()比较

var_dump(array() == ''); //bool(false)
var_dump(array() === ''); //bool(false)
var_dump(array() == NULL); //bool(true)
var_dump(array() === NULL); //bool(false)
var_dump(array() == 0); //bool(false)
var_dump(array() === 0); //bool(false)
var_dump(array() == false); //bool(true)
var_dump(array() === false); //bool(false)
var_dump(array() == true); //bool(false)
var_dump(array() === true); //bool(false)

//恒等比较

var_dump(0 === '0'); //bool(false)
var_dump(0 === 00); //bool(true)
var_dump(00 === intval('0')); //bool(true)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: