PHP中的empty、isset、isnull的区别与使用实例
做php开发时候,通常会用到empty,isset,is_null这几个函数,使用不当的话甚至给自己的程序带来一些安全隐患的bug。很多时候,对于isset,empty都认为差不多。因此开发时候,就没有注意,一段作为流程判断时候,就出现bug问题了。下面我们分别介绍一下这三个函数的区别和使用。
empty
如果变量是非空或非零的值,则empty()返回FALSE。换句话说,""、0、"0″、NULL、FALSE、array()、var$var、未定义;以及没有任何属性的对象都将被认为是空的,如果var为空,则返回TRUE。代码示例:
$a=0; $b=''; $c=array(); if(empty($a))echo'$a为空'.""; if(empty($b))echo'$b为空'.""; if(empty($c))echo'$c为空'.""; if(empty($d))echo'$d为空'.""; //以上输出皆为空
isset
如果变量存在(非NULL)则返回TRUE,否则返回FALSE(包括未定义)。变量值设置为:null,返回也是false;unset一个变量后,变量被取消了。注意,isset对于NULL值变量,特殊处理。代码示例:
$a=''; $a['c']=''; if(!isset($a))echo'$a未被初始化'.""; if(!isset($b))echo'$b未被初始化'.""; if(isset($a['c']))echo'$a已经被初始化'.""; //显示结果为 //$b未被初始化 //$a已经被初始化
is_null
检测传入值【值,变量,表达式】是否是null,只有一个变量定义了,且它的值是null,它才返回TRUE.其它都返回FALSE【未定义变量传入后会出错!】
$a=null; $b=false; if(is_null($a))echo'$a为NULL'.""; if(is_null($b))echo'$b为NULL'.""; if(is_null($c))echo'$c为NULL'.""; //显示结果为 //$a为NULL //Undefinedvariable:c
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接