var_dump(0) //int(0)
var_dump('0') //string(1) "0"
var_dump('ssddsd') //string(7) "sasadad"
var_dump(0=='sdfsdf') // bool(true)
var_dump('0'=='sdfsf') //bool(false)
在上面这些比较中为什么var_dump(0=='sdfsdf') // bool(true)而var_dump('0'=='sdfsf') //bool(false)
我认为的是0是整形,和字符型'sdfsf'比较应该是false。。。。
为什么实际结果却是相反的,我哪里理解错了么???
当处理这句时,不同类型比较'sdfsdf'会被强制转换成int型,也就是int 0,所以结果是true
当处理这句时,相同类型比较直接比较内容,内容不一样,所以结果是false
你可以试试var_dump((int)("sdfsf"));结果是int 0