php中null和empty的区别:empty是一个函数,用于检查一个变量是否为空,变量为空则返回true;而null是一种数据类型,表示一个变量没有值为空,当变量被赋值为mull、没有被赋值或者被unset()时都表示为null。

本文操作环境: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; (一个声明了,但是没有值的变量)

实例

<?php
$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;
}
?>


php中null和empty的区别是什么