$a=false;
var_dump(isset($a));//返回true
isset — 检测变量是否已设置并且非 NULL。
isset只有在变量未被定义的时候才会返回false。就算变量被定义为false也会返回true.
$a=false;
var_dump(empty($a));//返回true
empty在变量被定义为false时(包括0,‘0’)也会返回true.
$a;
is_null ($a);//返回true
在下列情况下一个变量被认为是 NULL:
◦被赋值为 NULL。
◦尚未被赋值。
◦被 unset()。
综上,现在很多方法就算没有数据返回也会返回false,这种情况下判断数据不为空的话用!empty最好,而不能用isset。