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 和 MYSQL
Oct 09 PHP
如何在PHP中使用Oracle数据库(5)
Oct 09 PHP
php&amp;java(二)
Oct 09 PHP
set_include_path和get_include_path使用及注意事项
Feb 02 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
Jul 01 PHP
php使用pdo连接并查询sql数据库的方法
Dec 24 PHP
PHP面试题之文件目录操作
Oct 15 PHP
yii2超好用的日期组件和时间组件
May 05 PHP
PHP二分查找算法示例【递归与非递归方法】
Sep 29 PHP
thinkphp项目如何自定义微信分享描述内容
Feb 20 PHP
php头像上传预览实例代码
May 02 PHP
php命令行写shell实例详解
Jul 19 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
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
多重?l件?合查?(二)
2006/10/09 PHP
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
说说PHP的autoLoad自动加载机制
2012/09/27 PHP
php字符串分割函数explode的实例代码
2013/02/07 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
2014/06/24 PHP
新浪刚打开页面出来的全屏广告代码
2007/04/02 Javascript
JS实现的省份级联实例代码
2013/06/24 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
JavaScript中的Math.E属性使用详解
2015/06/12 Javascript
在javascript中使用com组件的简单实现方法
2016/08/17 Javascript
原生javascript实现读写CSS样式的方法详解
2017/02/20 Javascript
浅谈React高阶组件
2018/03/28 Javascript
vue生命周期的探索
2019/04/03 Javascript
layer弹出层自定义提交取消按钮的例子
2019/09/10 Javascript
layui自己添加图片按钮并点击跳转页面的例子
2019/09/14 Javascript
微信小程序实用代码段(收藏版)
2019/12/17 Javascript
python在指定目录下查找gif文件的方法
2015/05/04 Python
matplotlib绘制动画代码示例
2018/01/02 Python
Python SqlAlchemy动态添加数据表字段实例解析
2018/02/07 Python
pandas全表查询定位某个值所在行列的方法
2018/04/12 Python
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
详解Python中is和==的区别
2019/03/21 Python
详解python pandas 分组统计的方法
2019/07/30 Python
Python中生成一个指定长度的随机字符串实现示例
2019/11/06 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
Looking4Parking美国:全球排名第一的机场停车比较品牌
2019/08/26 全球购物
英国在线药房和在线医生:LloydsPharmacy
2019/10/21 全球购物
SK-II神仙水美国官网:SK-II美国
2020/02/25 全球购物
一份创业计划书范文
2014/02/08 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
历史专业学生的自我评价
2014/02/28 职场文书
财产公证书格式
2014/04/10 职场文书
联谊活动总结
2014/08/28 职场文书
紧急迫降观后感
2015/06/15 职场文书