空函数—— empty & is_null & isset & unset

经常会用的空值判断,但总是搞不清楚其微乎其微的区别,在此好好总结总结:

1.empty   检查一个变量是否为空

boolean emptye( mixed $var)

如果var是非空或非零的值,则empty()返回false。换句话说,"", 0, "0", null, false, array(), var $var;以及没有任何属性的对象都将被认为是空的,如果var为空,则返回true。

empty() 只检测变量,检测任何非变量的东西都将导致解析错误,换句话说,后边的语句将不会起作用:empty(addslashes($name));

2.isset   检查变量是否设置,并且不是null

boolean isset(mixed $var [,mixed $...])

返回值 : 如果var存在并且值不是null则返回true,否则返回false。

如果已经使用unset()释放了一个变量后,它将不再是isset()。若使用isset()测试一个被设置成null的变量,将返回false。同时要注意的是一个null字节("\0")并不等同于PHP的NULL常数

警告:isset()  只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可以使用defined()函数。

3.unset    释放(销毁)给定的变量

在函数中的行为会依赖于想要销毁的变量的类型而有所不同。

如果在函数中unset()一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用unset()之前一样的值。

4.is_null   检测变量是否为null

boolean is_null(mixed $var)

如果var是null 则返回true,否则返回false.

查看null类型获知变量什么时候被认为是null,而什么时候不是。

NULL  特殊的null值表示一个变量没有值,null类型唯一可能的值就是null,在下列情况下一个变量被认为是null:

被赋值为null;

尚未被赋值;

被unset()。

变量                         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

 

 

 

猜你喜欢

转载自lylan.iteye.com/blog/2172494
今日推荐