2、empty,isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null 和 “参数本身”只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误!
3、isset():仅当null和未定义,返回false;
4、empty():""、0、0.0、"0"、NULL、FALSE、array(),未定义,均返回true;但是 '0.0' 和 '00' 返回false。
5、is_null():仅判断是否为null,未定义 报警告;
6、变量本身作为参数,与empty()一致,但接受未定义变量时,报警告;
补充:$a ="string";
unset($a);
echo is_null($a); 输出值为1,说明被unset的变量值变成null 了。