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中,文件上传
Dec 06 PHP
小谈php正则提取图片地址
Mar 27 PHP
php计算当前程序执行时间示例
Apr 24 PHP
php开启openssl的方法
May 15 PHP
php将数组转换成csv格式文件输出的方法
Mar 14 PHP
PHP使用自定义方法实现数组合并示例
Jul 07 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
Oct 08 PHP
PHP基于接口技术实现简单的多态应用完整实例
Apr 26 PHP
Laravel中任务调度console使用方法小结
May 07 PHP
PHP基础之输出缓冲区基本概念、原理分析
Jun 19 PHP
浅谈laravel数据库查询返回的数据形式
Oct 21 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
Dec 20 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
php类常量用法实例分析
2015/07/09 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
PHP小程序支付功能完整版【基于thinkPHP】
2019/03/26 PHP
JSON+JavaScript处理JSON的简单例子
2013/03/20 Javascript
将Datatable转化成json发送前台实现思路
2013/09/06 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
2013/10/24 Javascript
js添加千分位的实现代码(超简单)
2016/08/01 Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
2018/05/16 Javascript
vue如何引入sass全局变量
2018/06/28 Javascript
Vue.js实现可排序的表格组件功能示例
2019/02/19 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
在Vue中使用antv的示例代码
2020/06/29 Javascript
深入解析Python中函数的参数与作用域
2016/03/20 Python
Python Socket实现简单TCP Server/client功能示例
2017/08/05 Python
python定向爬取淘宝商品价格
2018/02/27 Python
python url 参数修改方法
2018/12/26 Python
Python3爬虫之urllib携带cookie爬取网页的方法
2018/12/28 Python
Python生成指定数量的优惠码实操内容
2019/06/18 Python
python-tornado的接口用swagger进行包装的实例
2019/08/29 Python
python3 mmh3安装及使用方法
2019/10/09 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
python shell命令行中import多层目录下的模块操作
2020/03/09 Python
Fabletics官网:美国运动服饰品牌,由好莱坞女演员凯特·哈德森创立
2019/10/19 全球购物
Wolford法国官网:奥地利奢侈内衣品牌
2020/08/11 全球购物
英国户外服装、鞋类和设备的领先零售商:Millets
2020/10/12 全球购物
大学生实习鉴定评语
2014/04/25 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书
学生考试舞弊检讨书
2015/01/01 职场文书
行政助理岗位职责范本
2015/04/11 职场文书
2015年乡镇人大工作总结
2015/04/22 职场文书
社会实践活动总结格式
2015/05/11 职场文书
《打电话》教学反思
2016/02/22 职场文书
担保书怎么写 ?
2019/04/22 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
MySQL中几种插入和批量语句实例详解
2021/09/14 MySQL