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 相关文章推荐
动易数据转成dedecms的php程序
Apr 07 PHP
PHP面向对象分析设计的经验原则
Sep 20 PHP
基于Zookeeper的使用详解
May 02 PHP
ThinkPHP实现批量删除数据的代码实例
Jul 02 PHP
php socket客户端及服务器端应用实例
Jul 04 PHP
php分页函数完整实例代码
Sep 22 PHP
yii2.0之GridView自定义按钮和链接用法
Dec 15 PHP
thinkphp如何获取客户端IP
Nov 03 PHP
利用PHP获取网站访客的所在地位置
Jan 18 PHP
PHP单例模式定义与使用实例详解
Feb 06 PHP
laravel配置Redis多个库的实现方法
Apr 10 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
Dec 29 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自动判断字符集并转码的详解
2013/06/26 PHP
微信小程序 消息推送php服务器验证实例详解
2017/03/30 PHP
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
教你在heroku云平台上部署Node.js应用
2014/07/30 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
2015/04/01 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
2016/09/06 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
js模拟百度模糊搜索的实例
2017/08/04 Javascript
Angular模板表单校验方法详解
2017/08/11 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
2018/12/10 Javascript
使用node搭建自动发图文微博机器人的方法
2019/03/22 Javascript
JQuery获得内容和属性方法解析
2020/05/30 jQuery
微信小程序接入vant Weapp组件的详细步骤
2020/10/28 Javascript
Python struct模块解析
2014/06/12 Python
python中base64加密解密方法实例分析
2015/05/16 Python
Python操作串口的方法
2015/06/17 Python
深入讲解Java编程中类的生命周期
2016/02/05 Python
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
python构建基础的爬虫教学
2018/12/23 Python
python使用opencv resize图像不进行插值的操作
2020/07/05 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
全球最大的跑步用品商店:Road Runner Sports
2016/09/11 全球购物
英国老牌潮鞋店:Offspring
2019/08/19 全球购物
英国森林假期:Forest Holidays
2021/01/01 全球购物
学院书画协会部门职责
2013/11/28 职场文书
材料物理专业个人求职信
2013/12/15 职场文书
考试没考好检讨书
2014/01/31 职场文书
2014年迎新年联欢会活动策划方案
2014/02/26 职场文书
最新大学生创业计划书写作攻略
2014/04/02 职场文书
2014老师三严三实对照检查材料思想汇报
2014/09/18 职场文书
幼儿园庆六一主持词
2015/06/30 职场文书
三八红旗手主要事迹材料
2015/11/04 职场文书
Python中的协程(Coroutine)操作模块(greenlet、gevent)
2022/05/30 Python