php中null和empty的区别是什么
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视频教程》