isset 检查一个变量是否为空 返回值:变量只要不是null 返回true,否则返回false
既:变量的值为 "" (空字符串),
0 (作为整数的0),
0.0 (作为浮点数的0),
"0" (作为字符串的0),
FALSE,array() (一个空数组) 不是null返回true
变量的值为 null ,unset()后的变量, 没有赋值的变量 被认为null 返回false
empty 函数 检查一个变量是否为空:返回值 为空返回true,否则不为空返回 false;
既:变量的值为 "" (空字符串) ,
0 (作为整数的0) ,
0.0 (作为浮点数的0) ,
"0" (作为字符串的0) ,
NULL , FALSE ,array() (一个空数组) ,
$var; (一个声明了,但是没有值的变量),返回true
例:
$a = NULL; if (empty($a)) { echo "变量不存在"; //变量不存在 } else { echo "变量存在"; } if (!isset($a) || $a == false) { echo "变量不存在"; //变量不存在 } else { echo "变量存在"; } if ($a == false) { echo "=="; // == } else { echo "!=="; }
这意味着 empty() 本质上与 !isset($var) || $var == false 等价。