在php中由于是弱类型语言,不同类型值之间可以隐式转换,使得false,null,”,0,’0′这几个值的比较有些混乱,现总结一下:
//恒等判断
//任何两个数比较都不恒等
//相等判断
''
==
NULL
==
0
==
false
(相等)
array() =
0
==
NULL
==
false
(相等)
array() <>
''
(不相等)
array()
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)
var_dump( false
var_dump( true
var_dump( true
var_dump(''
var_dump(''
var_dump(''
var_dump(''
var_dump(''
var_dump(''
var_dump(''
var_dump(''
var_dump( null
var_dump( null
var_dump( null
var_dump( null
var_dump( null
var_dump( null
var_dump(0
var_dump(0
var_dump(0
var_dump(0
//对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)
var_dump('1'
var_dump(1
var_dump(1
var_dump( array()
var_dump( array()
//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( array()
var_dump( array()
var_dump( array()
var_dump( array()
var_dump( array()
var_dump( array()
var_dump( array()
var_dump( array()
var_dump( array()
//恒等比较
var_dump(0
===
'0');
//
bool(false)
var_dump(0 ===
00);
//
bool(true)
var_dump(00 ===
intval('0'));
//
bool(true)
var_dump(0
var_dump(00
转载自:http://blog.sina.com.cn/s/blog_937270f40100yuh8.html