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 
 
    
评论