PHP中常用的判断变量是否为空的Empty()和isset(),其实在很多方面都是不同的。本文将为您详细介绍它们的不同之处,有需要的朋友可以看看。
目录
有共同点,但又各不相同。1.未设置变量的判断2、判断 (空字符串)3、判断0 (0为整数)4、判断0.0 (0为浮点数)5、判断 0 (0为字符串)6、判断NULL 7、判断FALSE 8。
二者共同点
可以判断一个变量是否为空;
两者都返回布尔类型,即true或false。
二者区别
函数的作用是:检查一个变量是否为空。当一个变量不存在,或者它的值等于FALSE,那么它将被认为是不存在的。如果变量不存在,Empty()不会生成警告。
isset()函数用于检测一个变量是否已经被设置并且不为空。如果你用unset()释放了一个变量,用isset()判断会返回FALSE。如果isset()用于测试设置为NULL的变量,它将返回FALSE。还要注意,空字符( )不等同于PHP的空常量。
在0、false、空字符串、空数组的判断上,empty()可以识别为空,isset()则不能。
1、对于未设置的变量的判断
//未设置变量的判断
if (empty($a)) {
回显“empty:变量为空”。br ;
}否则{
回显“empty:变量不为空”。br ;
}
if(isset $ a)){
echo“isset:变量已设置且不为空”。br ;
}否则{
Echo isset:变量未设置或变量为空。br ;
}
# #结果
Empty:变量为空。
Isset:变量未设置或为空。
2、对于 "" (空字符串) 的判断
//判断为“”(空字符串)
$ a=“”;
if (empty($a)) {
回显“empty:变量为空”。br ;
}否则{
回显“empty:变量不为空”。br ;
}
if(isset $ a)){
echo“isset:变量已设置且不为空”。br ;
}否则{
Echo isset:变量未设置或变量为空。br ;
}
# #结果
Empty:变量为空。
Isset:变量已设置且不为空。
3、对于 0 (作为整数的0) 的判断
//判断为0 (0为整数)
$ a=0;
if (empty($a)) {
回显“empty:变量为空”。br ;
}否则{
回显“empty:变量不为空”。br ;
}
if(isset $ a)){
echo“isset:变量已设置且不为空”。br ;
}否则{
Echo isset:变量未设置或变量为空。br ;
}
# #结果
Empty:变量为空。
Isset:变量已设置且不为空。
4、对于 0.0 (作为浮点数的0) 的判断
//判断为0.0 (0为浮点数)
$ a=0.0
if (empty($a)) {
回显“empty:变量为空”。br ;
}否则{
回显“empty:变量不为空”。br ;
}
if(isset $ a)){
echo“isset:变量已设置且不为空”。br ;
}否则{
Echo isset:变量未设置或变量为空。br ;
}
# #结果
Empty:变量为空。
Isset:变量已设置且不为空。
5、对于 "0" (作为字符串的0) 的判断
//判断为“0”(0为字符串)
$ a=“0”;
if (empty($a)) {
回显“empty:变量为空”。br ;
}否则{
回显“empty:变量不为空”。br ;
}
if(isset $ a)){
echo“isset:变量已设置且不为空”。br ;
}否则{
Echo isset:变量未设置或变量为空。br ;
}
# #结果
Empty:变量为空。
Isset:变量已设置且不为空。
6、对于 NULL 的判断
NULL的判断
$ a=null
if (empty($a)) {
回显“empty:变量为空”。br ;
}否则{
回显“empty:变量不为空”。br ;
}
if(isset $ a)){
echo“isset:变量已设置且不为空”。br ;
}否则{
Echo isset:变量未设置或变量为空。br ;
}
# #结果
Empty:变量为空。
Isset:变量未设置或为空。
7、对于 FALSE 的判断
//判断为假
$ a=false
if (empty($a)) {
回显“empty:变量为空”。br ;
}否则{
回显“empty:变量不为空”。br ;
}
if(isset $ a)){
echo“isset:变量已设置且不为空”。br ;
}否则{
Echo isset:变量未设置或变量为空。br ;
}
# #结果
Empty:变量为空。
Isset:变量已设置且不为空。
8、对于 array() (一个空数组) 的判断
//array()的判断(空数组)
$ a=array();
if (empty($a)) {
回显“empty:变量为空”。br ;
}否则{
回显“empty:变量不为空”。br ;
}
if(isset $ a)){
echo“isset:变量已设置且不为空”。br ;
}否则{
Echo isset:变量未设置或变量为空。br ;
}
# #结果
Empty:变量为空。
Isset:变量已设置且不为空。