您的位置:首页 > 编程语言 > PHP开发

PHP is_null,empty以及isset,unset的区别

2017-11-11 10:04 218 查看
1、empty
判斷一個變量是否為“空”.

null、false、00、0、’0′、』。為以上值的變量在檢測時都將返回true。
 
2、isset
判斷一個變量是否已經設置。

0、00、’0′、』、’ ‘、false、’false’、’null’都返回true。

只有值為null的變量才返回true
3、if 判斷式
0、00、0.0、’0′、』、false、null返回false

‘00′、’0.0′、’null’、’false’、’ ‘返回true
 

is_null, empty, isset, unset 我们先来看看这4个函数的描述。
isset 判断变量是否已存在(配置)

unset 把变量删除(释放)掉

empty 判断变量是否为空

is_null 判断变量是否为NULL 

ok,已经开始搞人了。那么开始,这4个函数中除了unset,其他3个都是判断函数,unset首先出局,因为他不会搞错,其次是is_null,我们可以把它看成是!isset,是isset的一个逆操作,下面一张表可以很清楚的说明他们之间的关系:
变量                             empty          is_null          isset

$a=””                          true               false              true

$a=null                      true               true              false

var $a                         true              true               false

$a=array()               true               false              true

$a=false                    true               false              true

$a=15                        false              false               true

$a=1                           false              false               true

$a=0                          true               false               true

$a=”0”                      true               false                true

$a=”true”                false               false              true

$a=”false”               false               false               true
从中我们可以发现只要变量是否为” “或者0,或者是false和null,只要是这些值empty都会返回true,而isset是判断变量是否存在,只要你这个变量不是null或未赋值,返回结果都是true,而is_null正好是isset的反结果。
当然如果只是想做如下工作:

echo !isset($_GET['a']);  //如果得不到变量a的值

echo empty($_GET['a']);  //如果变量a的值是空
那么结果都是一样的,都可以用。

原文地址 http://www.cnblogs.com/kaixin110/archive/2010/04/14/1711637.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: