php isset和empty区别

zjMars / 2023-05-05 / 原文

isset()函数用于检查一个变量是否已经被声明并且不为null。如果变量存在且不为null,则返回true,否则返回false。它通常用于检查变量是否存在,以避免在访问不存在的变量时引发错误。

$var = "Hello, world!";
if (isset($var)) {
    echo "The variable is set.";
} else {
    echo "The variable is not set.";
}

empty()函数用于检查一个变量是否为空。如果变量为0、空字符串、null、false或空数组,则返回true,否则返回false。它通常用于检查用户提交的表单字段是否已填写。

$var = "";
if (empty($var)) {
    echo "The variable is empty.";
} else {
    echo "The variable is not empty.";
}

需要注意的是,如果变量不存在,empty()函数会发出一个警告并返回true,而isset()函数只返回false,不会发出警告。此外,isset()函数不能用于检查数组中的元素是否存在和是否为null,而empty()函数可以用于这些情况。