PHP中的empty、isset、isnull的区别与使用实例
程序员文章站
2023-12-16 10:19:04
做php开发时候,通常会用到empty,isset,is_null这几个函数,使用不当的话甚至给自己的程序带来一些安全隐患的bug。很多时候,对于isset,empty都认...
做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 // undefined variable: c
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
推荐阅读
-
PHP中的empty、isset、isnull的区别与使用实例
-
PHP中isset与array_key_exists的区别实例分析
-
php中isset与empty函数的困惑与用法分析
-
PHP中isset与array_key_exists的区别实例分析
-
php中$_POST与php://input的区别实例分析
-
php中is_null,empty,isset,unset 的区别详细介绍
-
php中isset与empty函数的困惑与用法分析
-
PHP swoole中http_server的配置与使用方法实例分析
-
PHP中empty()和isset()的区别
-
php类中static与self的使用区别浅析