php中isset与empty函数的困惑与用法分析


Posted in PHP onJuly 05, 2019

本文实例讲述了php中isset与empty函数的困惑与用法。分享给大家供大家参考,具体如下:

在学习php有一段时间之后,感觉自己的基础知识还是有点不牢固,有的问题就不怎么知道,比如就有一个,在判断一个变量是否为空的情况下,我就不知道是用isset()还是empty()。今天我就来分析该用哪个函数。

isset():用于判断一个函数是否被设置过,如果设置过就为true,否则就为false,但是有一个例外,就是如果一个变量被设置成null的话,此时也会返回的也是false

<?php
 $a = null;
 var_dump(isset($a));//a变量已赋值,但是被设置成null,故返回false
 var_dump(isset($b));//内存中不存在变量b,故返回false
 var_dump(isset($_GET['id']));//如果$_GET['id']变量不存在,则返回false;如果$_GET['id']存在,则返回true
?>

empty():用于判断一个变量是否为空,如果是整形的0,浮点型的0.0,字符型的' ‘和'0',还有布尔型的false,NULL型的null,空数组等

<?php
 $a = null;
 var_dump(empty($a));//true
 $b = "";
 var_dump(empty($b));//true
 $c = "0";
 var_dump(empty($b));//true
 $c = 0;
 var_dump(empty($b));//true
 $e = false;
 var_dump(empty($e));//true
 $f = array();
 var_dump(empty($f));//true
 var_dump(empty($g));//$g变量不存在,返回true
 var_dump(empty($_GET['id']));//如果$_GET['id']不存在,则返回true;如果存在,但是值是上述条件,则还是返回true。
?>

总结:如果是判断一个变量是否存在,可以用isset()empty();如果判断变量的值是否为空,那么就用empty()

注意:以前我在做项目的时候,出现了这样的一个问题,我把select下拉列表框的选中的值传到服务器,服务器从超全局数组中获取到了值,但是当时我不清楚isset()empty()的区别,当时只知道他们都能判断变量是否存在,结果我用了empty()函数,最后,就出现bug了,我用empty()进行判断,把我传过来的变量的值为0的情况就给排除了。

所有在这里提醒大家,如果只是判断变量是否为空,最好还是用isset()

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
如何在PHP中进行身份认证
Oct 09 PHP
PHP Smarty生成EXCEL文档的代码
Aug 23 PHP
比较简单的百度网盘文件直链PHP代码
Mar 24 PHP
PHP删除HTMl标签的三种解决方法
Jun 30 PHP
浅析php中三个等号(===)和两个等号(==)的区别
Aug 06 PHP
php对数组排序代码分享
Feb 24 PHP
php中的curl使用入门教程和常见用法实例
Apr 10 PHP
php打造智能化的柱状图程序,用于报表等
Jun 19 PHP
一个简单的php MVC留言本实例代码(必看篇)
Sep 22 PHP
PHP正则删除HTML代码中宽高样式的方法
Jun 12 PHP
Laravel5.7 Eloquent ORM快速入门详解
Apr 12 PHP
PHP+Redis开发的书签案例实战详解
Jul 09 PHP
用PHP做了一个领取优惠券活动的示例代码
Jul 05 #PHP
php无限极分类实现方法分析
Jul 04 #PHP
php常用日期时间函数实例小结
Jul 04 #PHP
JS操作XML中DTD介绍及使用方法分析
Jul 04 #PHP
PHP操作XML中XPath的应用示例
Jul 04 #PHP
PHP实现财务审核通过后返现金额到客户的功能
Jul 04 #PHP
PHP使用DOM对XML解析处理操作示例
Jul 04 #PHP
You might like
一个程序下载的管理程序(三)
2006/10/09 PHP
pw的一个放后门的方法分析
2007/10/08 PHP
PHP Smarty生成EXCEL文档的代码
2008/08/23 PHP
zf框架的数据库追踪器使用示例
2014/03/13 PHP
laravel手动创建数组分页的实现代码
2018/06/07 PHP
location.search在客户端获取Url参数的方法
2010/06/08 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
使用GruntJS链接与压缩多个JavaScript文件过程详解
2013/08/02 Javascript
JQuery显示、隐藏div的几种方法简明总结
2015/04/16 Javascript
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
2015/07/27 Javascript
jquery判断checkbox是否选中及改变checkbox状态的实现方法
2016/05/26 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
vue实现修改图片后实时更新
2019/11/14 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2015/03/19 Python
深入解析Python中的集合类型操作符
2015/08/19 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
django框架用户权限中的session缓存到redis中的方法
2019/08/06 Python
解决TensorFlow模型恢复报错的问题
2020/02/06 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
2020/06/10 Python
CSS3 渐变(Gradients)之CSS3 线性渐变
2016/07/08 HTML / CSS
CSS3之背景尺寸Background-size使用介绍
2013/10/14 HTML / CSS
CSS3 Flex 弹性布局实例代码详解
2018/11/01 HTML / CSS
美国婴儿服装购物网站:Gerber Childrenswear
2020/05/06 全球购物
汽车专业人才自我鉴定范文
2013/12/29 职场文书
商铺租赁意向书
2014/04/01 职场文书
难忘的一天教学反思
2014/04/30 职场文书
公司承诺书格式
2014/05/21 职场文书
人事专员岗位说明书
2014/07/29 职场文书
个人投资合作协议书
2014/10/12 职场文书
大学生个人学年总结
2015/02/15 职场文书
一波干货,会议主持词开场白范文
2019/05/06 职场文书
python中subplot大小的设置步骤
2021/06/28 Python