加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP的isset、empty和is_null函数用法有何不同呢?

发布时间:2023-06-08 13:55:54 所属栏目:PHP教程 来源:
导读:关于“PHP的isset、empty和is_null函数用法有什么不同呢?”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学
关于“PHP的isset、empty和is_null函数用法有什么不同呢?”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。
 
NULL:
 
当你在你的脚本中写下这样一行代码
 
$myvariable; //此处你想定义一个变量,但未赋值。会有Notice: Undefined variable
 
echo $myvariable + 3; //使用这个变量出现:Notice: Undefined variable: myvariable in
 
如果将其改写成:
 
$myvariable = NULL;
 
echo $myvariable + 3; //这样就不会有问题了
 
所以得出在你的脚本在使用一个变量时最好赋一个默认值,如果你不想,就可以将NULL赋给变量,表示这个变量已经定义但没有值,属于NULL类型。
 
is_null():
 
bool is_null ( mixed $ var ) (php.net官方文档的函数定义)
 
当参数满足下面三种情况时,is_null()将返回TRUE,其它的情况就是 FALSE
 
1、它被赋值为NULL
 
2、它还没有赋值
 
3、它未定义,相当于unset(),将一个变量unset()后,不就是没有定义吗
 
让我们来看一些例子:
 
$myvar = NULL;
 
var_dump(is_null($myvar)); // TRUE
 
$myvar1;
 
var_dump(is_null($myvar1)); // TRUE Notice: Undefined variable
 
$num = 520;
 
unset($num);
 
var_dump(is_null($num)); //TRUE Notice: Undefined variable
 
var_dump(is_null($some_undefined_var)); //TRUE Notice: Undefined variable
 
$myvar = 0; is_null($myvar); // FALSE
 
$myvar = FALSE; is_null($myvar); // FALSE
 
$myvar = ”; is_null($myvar); // FALSE
 
isset():
 
bool isset ( mixed $var [, mixed $… ] ),参数是一个变量
 
检测参数已设定,并且不是NULL。如果没有设置变量,变量未赋值,或变量被设为NULL,isset()函数就返回NULL。
 
正好和is_null()函数相反,is_null()为TRUE的情况在isset()中就为FALSE。有意思!
 
如果传递多个参数,将取交集。即所有参数全部符合 isset() 时才返回 TRUE。
 
似乎让人感觉有点困惑,来看一些例子:
 
$myvar = NULL; isset($myvar); // FALSE 当一个变量被赋值为NULL时,就表示这个变量没有值
 
$myvar = 0; isset($myvar); // TRUE
 
$myvar = FALSE; isset($myvar); // TRUE
 
$myvar = ”; isset($myvar); // TRUE
 
isset($some_undefined_var); // FALSE Undefined variable
 
可以看出isset()着重检测一个 变量是否设置和这个变量是否有具体的值,当变量满足这两种情况时isset()返回TRUE
 
defined():
 
bool defined ( string $name )
 
检测是否设置常量
 
empty():
 
bool empty ( mixed $var )
 
判读变量是否为空。
 
请见上面的类型比较表empty()那一列你就明白哪些情况是空的情形了。还有其他一些函数的参照。
 
来看一些例子:
 
$myvar = NULL; empty($myvar); // TRUE
 
$myvar = 0; empty($myvar); // TRUE
 
$myvar = FALSE; empty($myvar); // TRUE
 
$myvar = ”; empty($myvar); // TRUE
 
empty($some_undefined_var); // TRUE
 
empty()为TRUE的情况,若变量不存在,或者变量存在且其值为””、0、”0″、NULL、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE。
 
一般如!empty()的判断,就是变量存在,且值不为””、0、”0″、NULL、FALSE、array()以及只是单纯定义一个变量$var。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!