目录
1.isset():
2.empty():
3.is_null:
4.总结:
在PHP中,is_null、empty 和 isset 是三个用于检查变量状态的常用函数,它们各自有不同的用途和行为:
1.isset():
isset()函数用来检查一个变量是否已设置并且非null。- 如果变量存在并且已经被初始化(即不是
null),isset()返回true。 - 如果变量未定义或其值为
null,isset()返回false。
代码示例:
$var = null;
if (isset($var)) {echo "变量已设置";
} else {echo "变量未设置";
}
// 输出:变量未设置
2.empty():
empty()函数用来检查一个变量是否为空。- 如果变量的值被认为是“空”的(例如
""空字符串、0、0.0、"0"、null、false、未定义的变量),empty()返回true。 - 如果变量非空,
empty()返回false。
代码示例:
$var = null;
if (empty($var)) {echo "变量为空";
} else {echo "变量非空";
}
// 输出:变量为空
3.is_null:
is_null()函数用来检查一个变量是否严格等于null。- 只有当变量的值严格为
null时,is_null()才返回true。
代码示例:
$var = null;
if ($var === null) {echo "变量的值为null";
} else {echo "变量的值不是null";
}
// 输出:变量的值为null
4.总结:
isset()检查变量是否已设置且不是null。empty()检查变量是否为空,包括null、false、0、空字符串等。is_null()严格检查变量是否等于null。
在实际编程中,根据需要检查的条件不同,你可能会使用这三个函数中的一个或多个。例如,如果你想确保一个变量不仅已设置,而且有非空的值,你可以结合使用 isset() 和 empty():
if (isset($var) && !empty($var)) {// 变量已设置且非空
}
如果你想检查一个变量是否为 null 或者为空字符串,你可以结合使用 is_null() 和 empty():
if (is_null($var) || $var === "") {// 变量的值为null或空字符串
}
以下用一张表搞清楚is_null、empty、isset的区别
| 变量 | is_null | empty | isset |
| $a="" | false | true | true |
| $a=" " | false | false | true |
| $a=null | true | true | false |
| $a | true | true | false |
| $a=array() | false | true | true |
| $a=false | false | true | true |
| $a=8 | false | false | true |
| $a=1 | false | false | true |
| $a=0 | false | true | true |
| $a="0" | false | true | true |
| $a="true" | false | false | true |
| $a="false" | false | false | true |
