php中empty,is_null,isset比较
- isset判断变量是否定义或者是否为空,变量存在返回true,否则返回false,变量定义不赋值返回false,unset一个变量,返回false,变量赋值为null,返回false
- empty判断变量是否为空,能转换为false的都是空,为空返回true反之返回false。"",0,“0”,NULL,false都认为为空
- is_null检测传入的值(值,变量,表达式)是否为NULL,定义了,但是赋值为null,定义了,但是没有赋值,unset一个变量都返回true
变量 empty is_null isset
$a = “” true false true
$a = null true true false
var $a true true false
$a = [] true false true
$a = false true false true
$a = 1 false false true
$a = 0 true false true
$a = “0” true false true
$a = true false false true
$a = “false” false false true
$a = “true” false false true