1. 简介
在PHP中,empty是一个内置函数,用于检查一个变量是否为空或者未定义。
具体地说,empty函数会返回一个布尔值,如果变量为空或者未定义,返回true;如果变量不为空且有定义,返回false。
一个空变量可能包括:
一个字符长度为0的字符串
一个值为0的整数
一个值为0.0的浮点数
一个空数组
一个没有任何属性的对象
一个没有任何元素的NULL
2. 使用示例
下面通过几个示例来说明empty函数的用法。
2.1 空字符串
在PHP中,一个字符长度为0的字符串被认为是空的。
$str = "";
if (empty($str)) {
echo "字符串为空";
} else {
echo "字符串不为空";
}
上述代码输出的结果为:
字符串为空
2.2 数值为0
数值为0的整数或者浮点数被认为是空的。
$num = 0;
if (empty($num)) {
echo "数值为空";
} else {
echo "数值不为空";
}
上述代码输出的结果为:
数值为空
2.3 空数组
一个没有任何元素的数组被认为是空的。
$arr = array();
if (empty($arr)) {
echo "数组为空";
} else {
echo "数组不为空";
}
上述代码输出的结果为:
数组为空
2.4 NULL
一个没有任何元素的NULL被认为是空的。
$var = NULL;
if (empty($var)) {
echo "变量为空";
} else {
echo "变量不为空";
}
上述代码输出的结果为:
变量为空
3. 注意事项
3.1 变量存在性
empty函数只能用于检查变量是否为空或者未定义,不能用于检查变量的存在性。
如果变量不存在,使用empty函数会产生一个警告。
if (empty($undefinedVar)) {
echo "变量为空";
} else {
echo "变量不为空";
}
上述代码会输出以下警告:
Notice: Undefined variable: undefinedVar
3.2 字符串"0"的特殊情况
字符串"0"被认为不是空的,而是一个非空字符串。
$str = "0";
if (empty($str)) {
echo "字符串为空";
} else {
echo "字符串不为空";
}
上述代码输出的结果为:
字符串不为空
4. 结论
empty函数在PHP中用于检查变量是否为空或者未定义。空变量包括空字符串、数值为0、空数组、没有任何属性的对象和没有任何元素的NULL。然而,需要注意的是,使用empty函数不能用于检查变量的存在性,并且字符串"0"被认为是一个非空字符串。