php判断变量是否为空用empty还是isset

avatar
作者
筋斗云
阅读量:0

在PHP中,empty()isset() 都可以用来检查一个变量是否为空,但它们之间有一些区别。

isset() 函数用于检测一个变量是否已经设置,如果一个变量已经被设置且其值不为NULL,那么isset()返回TRUE,否则返回FALSE。

empty() 函数用于检测一个变量是否为空,如果一个变量不存在、为NULL、为FALSE、为空字符串、为0、为0.0、为空数组则返回TRUE,否则返回FALSE。

所以,当你需要检查一个变量是否设置且不为NULL时,使用isset()。而当你需要检查一个变量是否为空(包括未设置或为NULL)时,使用empty()

例如:

$var1 = ''; $var2 = NULL; $var3 = 0; $var4 = '0'; $var5 = false;  // 使用 isset() echo isset($var1) ? 'var1 已设置' : 'var1 未设置'; // 输出:var1 已设置 echo isset($var2) ? 'var2 已设置' : 'var2 未设置'; // 输出:var2 未设置 echo isset($var6) ? 'var6 已设置' : 'var6 未设置'; // 输出:var6 未设置  // 使用 empty() echo empty($var1) ? 'var1 为空' : 'var1 非空'; // 输出:var1 为空 echo empty($var2) ? 'var2 为空' : 'var2 非空'; // 输出:var2 为空 echo empty($var3) ? 'var3 为空' : 'var3 非空'; // 输出:var3 为空 echo empty($var4) ? 'var4 为空' : 'var4 非空'; // 输出:var4 非空 echo empty($var5) ? 'var5 为空' : 'var5 非空'; // 输出:var5 为空 echo empty($var6) ? 'var6 为空' : 'var6 非空'; // 输出:var6 为空 

从上面的例子可以看出,isset() 只检查变量是否设置且不为NULL,而 empty() 检查变量是否为空(包括未设置或为NULL)。根据实际需求选择合适的函数。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!