PHP 松散比较的几个值
PHP中几个比较容易混乱的值:false,’0’,0,’‘,null,array().这几个值在if判断中都是false,那么他们之间相互进行’==’比较呢?
一下是这几个值的比较结果:
| 0 | ‘0’ | false | ’’ | null | array() | |
|---|---|---|---|---|---|---|
| 0 | true | true | true | true | true | false |
| ‘0’ | true | true | true | false | false | false |
| false | true | true | true | true | true | true |
| ’’ | true | false | true | true | true | false |
| null | true | false | true | true | true | true |
| array() | false | false | true | false | true | true |
php按一下顺序进行比较运算:
-
null或string与string比较,先转换成string再比较
-
bool和null与其他任何类型比较,转换成bool
-
string和number相互比较,先转换成数字类型
-
bool与任何其他类型比较,先转换成bool值
-
array和任意其他类型比较,或其他类型与数组比较,都是数组大。所以0 == array 是false
评论