empty 和 isset
1. empty
empty()用于判断一个变量是否为空
null、false、0.0、0、00、′0′、array() 、′′、var $a 都会返回true
2. isset
isset()用于判断一个变量是否已设置
0、00、′0′、array() 、′ ′、false、′false′、′null′都返回true。
只有值为null
的变量返回false
3. is_null
检测变量是否为null
4. 总结
项目 | empty | isset | is_null |
---|---|---|---|
$a=‘’ | true | true | false |
$a=null | true | false | true |
var $a | true | false | true |
$a=array() | true | true | false |
$a=false | true | true | false |
$a=15 | false | true | false |
$a=1 | false | true | false |
$a=0 | true | true | false |
$a=”0” | true | true | false |
$a=”true” | false | true | false |
$a=”false” | false | true | false |
总结:所以在使用
isset
时要特别注意0、false、array()
这些变量值,因为这些变量有赋值,所以返回true
?? 和 ?:
$a ?? 0
等同于isset($a) ? $a : 0
$a ?: 0
等同于$a ? $a : 0
- empty: 判断一个变量是否为空(null、false、00、0、'0′)这类,都会返回true)。
- isset: 判断一个变量是否设置(值为false、00、0、'0′)这类,也会返回true)。