在 PHP 中,empty()
和 isset()
都用于检查变量是否存在或为空,但它们之间有一些关键区别。
isset()
函数:
isset()
用于检查一个变量是否已经设置,如果一个变量已经被设置且其值不为 NULL,那么 isset()
返回 TRUE,否则返回 FALSE。换句话说,如果变量不存在、未设置或者值为 NULL,isset()
会返回 FALSE。示例:
$var = NULL;
if (isset($var)) {
echo "变量已设置";
} else {
echo "变量未设置";
}
// 输出:变量未设置
empty()
函数:
empty()
用于检查一个变量是否为空,如果一个变量不存在、未设置或者其值为空(如:0、0.0、‘0’、NULL、FALSE 或空字符串),那么 empty()
返回 TRUE,否则返回 FALSE。示例:
$var = 0;
if (empty($var)) {
echo "变量为空";
} else {
echo "变量非空";
}
// 输出:变量为空
总结:
isset()
主要用于检查变量是否设置,而不考虑其值。empty()
主要用于检查变量是否为空,包括未设置或值为空的情况。isset()
;当你需要确保变量不为空(包括可能未设置的情况)时,使用 empty()
。