PHP中关于empty,null一直没有完全弄清楚的知识点

来源:互联网 发布:eclipse python插件 编辑:程序博客网 时间:2024/06/05 22:37

PHP中变量的值为empty的情况:

empty的用法相信大家都很熟悉,下面说下,什么情况下empty($var)会输出true

1:变量的值为空 $var = “”;

2:变量的值为字符串0或者数字0  $var = 0 ; 或者$var =”0″

3:变量的值为flase $var= flase;

4:凡是为NULL的 都为空  为null的情况我上面已经讲过了 这里不再重复

5:空数组  $arr =array();

6:变量只定义不赋值  $var;

如果满足上面的一条那么empty就会输出true,empty在php中很重要,它对于我们程序的严谨性多了一层保证。

=======================

PHP中变量的值为NUll的情况:

1:被赋值为 NULL

如:$a =NULL; echo is_null($a); //output 1

2:尚未被赋值

如:$a;

echo is_null($a); //output 1

3:被 unset()

如:$a =”string”;

unset($a);

echo is_null($a)//output 1

上面的这三种情况是被php认为是null的,所以就会输出真了1

=======================

empty,is_null,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的反结果。


原创粉丝点击