PHP 不同数据类型比较的规律

null == '' 结果: bool(true)
null === '' 结果: bool(false)
null == 0 结果: bool(true)
null === 0 结果: bool(false)
null == array() 结果: bool(true)
null === array() 结果: bool(false)
null == false 结果: bool(true)
null === false 结果: bool(false)
null < undefined 结果:bool(true)
null === undefined 结果:bool(false)
null == 1 结果: bool(false)


false == 0 结果: bool(true)
false === 0 结果: bool(false)
false == '' 结果: bool(true)
false === '' 结果: bool(false)
false == array() 结果: bool(true)
false === array() 结果: bool(false)
false == false 结果: bool(true)
false === false 结果: bool(true)
false < undefined 结果:bool(true)
false === undefined 结果:bool(false)


undefined == '' 结果:bool(false)
undefined === '' 结果:bool(false)
undefined == 0 结果:bool(true)
undefined === 0 结果:bool(false)


array() > 0 结果: bool(true)
array() == 0 结果: bool(false)
array() === 0 结果: bool(false)
array() > '' 结果: bool(true)
array() == '' 结果: bool(false)
array() === '' 结果: bool(false)
array() == false 结果: bool(true)
array() === false 结果: bool(false)
array() == 1 结果: bool(false)
array() === 123 结果: bool(false)
array() > undefined 结果:bool(true)
array() === undefined 结果:bool(false)
array() < array(1) 结果: bool(true)
array() === array(1) 结果: bool(false)


object == 0 结果:bool(true)
object === 0 结果:bool(false)
object > '' 结果:bool(true)
object === '' 结果:bool(false)
object < array() 结果:bool(true)
object === array() 结果:bool(false)
object < undefined 结果:bool(true)
object === undefined 结果:bool(false)
object > null 结果:bool(true)
object === null 结果:bool(false)

总结:

false null ""  0 在==等于比较运算的时候 都可以转化为false或者0
array()大于0
array() > ''
array()==false
false < undefined
null < undefined
array() > undefined
undefined == 0
object == 0
object > ''
object < array()
object < undefined
object > null
object > false
原文地址:https://www.cnblogs.com/heyongzhen/p/13705904.html