在php文档中 isset()函数是判断一个变量是否被设置且为非NULL,来看一下示例。
$var;
var_dump(isset($var)); //false
$var = null;
var_dump(isset($var)); //false
$var = 0;
var_dump(isset($var)); //true
也就是说isset()判断的是一个变量是否被定义且值不为null
empty()函数比较特殊,在官方文档中是这样定义的,empty()检测一个变量是否为空,更详细的解读为一个变量不存在(即未进行设置定义),或者其值为false时都代表这个变量为空,以下特殊用例需要留意。
$var = 0;
$var = 0.0;
$var = "";
$var = "0";
$var = [];
$var = null;
$var = false;
以上所有变量使用empty()检测时返回true,即上述所有变量都是为空的。
is_null()函数顾名思义,是检测变量是否为null,只要变量是null即返回true