本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。
php中null和empty的区别是什么
null 表示表示一个变量没有值。一个变量为null有三种情况:
1.被赋值为 NULL 。
2. 尚未被赋值。
3. 被 unset() 。
empty() 函数用于检查一个变量是否为空。
empty() 判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于 FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。
empty() 5.5 版本之后支持表达式了,而不仅仅是变量。
语法
bool empty ( mixed $var )
参数说明:
$var:待检查的变量。
注意:在 PHP 5.5 之前,empty() 仅支持变量;任何其他东西将会导致一个解析错误。换言之,下列代码不会生效:
empty(trim($name))
作为替代,应该使用:
trim($name) == false
empty() 并不会产生警告,哪怕变量并不存在。 这意味着 empty() 本质上与 !isset($var) || $var == false 等价。
当 var 存在,并且是一个非空非零的值时返回 FALSE 否则返回 TRUE。
以下的变量会被认为是空的:
"" (空字符串)
0 (作为整数的0)
0.0 (作为浮点数的0)
"0" (作为字符串的0)
NULL
FALSE
array() (一个空数组)
$var; (一个声明了,但是没有值的变量)
实例
$ivar1=0;
$istr1='Runoob';
if (empty($ivar1))
{
echo '$ivar1' . " 为空或为 0。" . PHP_EOL;
}
else
{
echo '$ivar1' . " 不为空或不为 0。" . PHP_EOL;
}
if (empty($istr1))
{
echo '$istr1' . " 为空或为 0。" . PHP_EOL;
}
else
{
echo '$istr1' . " 字符串不为空或不为0。" . PHP_EOL;
}
?>