PHP中的empty、isset、isnull的区别与使用实例


Posted in PHP onMarch 22, 2019

做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 相关文章推荐
PHP计划任务、定时执行任务的实现代码
Apr 23 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
Nov 07 PHP
php excel reader读取excel内容存入数据库实现代码
Dec 06 PHP
php+mysql实现数据库随机重排实例
Oct 17 PHP
php实现的一个简单json rpc框架实例
Mar 30 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
Sep 22 PHP
php封装的mysqli类完整实例
Oct 18 PHP
php微信公众号js-sdk开发应用
Nov 28 PHP
laravel5.2实现区分前后台用户登录的方法
Jan 11 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
Jul 03 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
Apr 20 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
Mar 22 #PHP
PHP静态方法和静态属性及常量属性的区别与介绍
Mar 22 #PHP
简单实用的PHP文本缓存类实例
Mar 22 #PHP
PHP设计模式之PHP迭代器模式讲解
Mar 22 #PHP
ThinkPHP5.1表单令牌Token失效问题的解决
Mar 22 #PHP
PHP iconv()函数字符编码转换的问题讲解
Mar 22 #PHP
PHP里的$_GET数组介绍
Mar 22 #PHP
You might like
php+oracle 分页类
2006/10/09 PHP
用PHP和ACCESS写聊天室(九)
2006/10/09 PHP
php curl获取网页内容(IPV6下超时)的解决办法
2013/07/16 PHP
理解PHP中的stdClass类
2014/04/18 PHP
php中动态调用函数的方法
2015/03/16 PHP
THINKPHP5分页数据对象处理过程解析
2020/10/28 PHP
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
js里的prototype使用示例
2010/11/19 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
javascript实现判断鼠标的状态
2015/07/10 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
2016/06/13 Javascript
JavaScript设计模式之装饰者模式定义与应用示例
2018/07/25 Javascript
原生JS实现的简单小钟表功能示例
2018/08/30 Javascript
[00:36]DOTA2勇士令状莱恩声望物品——冥晶之厄展示
2018/05/25 DOTA
Python2.5/2.6实用教程 入门基础篇
2009/11/29 Python
python正则表达式match和search用法实例
2015/03/26 Python
Python中datetime模块参考手册
2017/01/13 Python
Python排序算法之选择排序定义与用法示例
2018/04/29 Python
python获取代理IP的实例分享
2018/05/07 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
2018/11/14 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
2019/04/01 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
Python获取android设备cpu和内存占用情况
2020/11/15 Python
有750多个顶级品牌的瑞士时尚在线:ABOUT YOU
2017/01/04 全球购物
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
SHEIN香港:价格实惠的女性时尚服装
2018/08/14 全球购物
YBF Beauty官网:美丽挚友,美国知名彩妆品牌
2020/11/22 全球购物
财务人员求职自荐书范文
2014/02/10 职场文书
2014年党课学习心得体会
2014/07/08 职场文书
世界红十字日活动总结
2015/02/10 职场文书
医生行业员工的辞职信
2019/06/24 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
教你怎么用Python监控愉客行车程
2021/04/29 Python
详解SQL的窗口函数
2022/04/21 Oracle
css中:last-child不生效的解决方法
2022/08/05 HTML / CSS