PHP中isset、empty的用法与区别示例详解


Posted in PHP onNovember 05, 2020

前言

在编写程序调用变量时,遇到未定义的变量时,会报错,这是就需要我们对变量先进行判断,再进行相关操作。

这里主要记录两个变量判断函数的使用:isset()与empty()

1、isset — 检测变量是否已设置并且非 NULL

isset ( mixed $var [, mixed $... ] ) : bool

如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。

若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。

同时要注意的是 null 字符("\0")并不等同于 PHP 的 NULL 常量。

注:如果一次传入多个参数,那么 isset() 只有在全部参数都以被设置时返回 TRUE 计算过程从左至右,中途遇到没有设置的变量时就会立即停止。

2、empty — 检查一个变量是否为空

empty ( mixed $var ) : bool

当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。

如果变量不存在的话,empty()并不会产生警告。

使用 empty 判断以下变量时,会被认为是空的:

"" (空字符串)
0 (作为整数的0)
0.0 (作为浮点数的0)
"0" (作为字符串的0)
NULL
FALSE
array() (一个空数组)

关于 isset() 与 empty() 的判断变量的区别:

1、判断方式不同

isset() 判断变量是否声明并且不是 NULL
empty() 一个变量是否为空

2、判断特殊变量是否存在时的区别

<?php
$a = ""; // 空字符串
var_dump(isset($a)); // true
var_dump(!empty($a)); // false
echo '<br/>';

$b = 0; // 作为整数的0
var_dump(isset($b)); // true
var_dump(!empty($b)); // false
echo '<br/>';

$c = 0.0; // 作为浮点数的0
var_dump(isset($c)); // true
var_dump(!empty($c)); // false
echo '<br/>';

$d = "0"; // 作为字符串的0
var_dump(isset($d)); // true
var_dump(!empty($d)); // false
echo '<br/>';

$e = NULL;
var_dump(isset($e)); // false
var_dump(!empty($e)); // false
echo '<br/>';

$f = FALSE;
var_dump(isset($f)); // true
var_dump(!empty($f)); // false
echo '<br/>';

$g = array(); // 一个空数组
var_dump(isset($g)); // true
var_dump(!empty($g)); // false
echo '<br/>';

总结

到此这篇关于PHP中isset、empty用法与区别的文章就介绍到这了,更多相关PHP isset、empty的用法与区别内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
一周学会PHP(视频)Http下载
Dec 12 PHP
上传文件先创建目录 再上传到目录里面去
Dec 29 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
Apr 12 PHP
PHP url 加密解密函数代码
Aug 26 PHP
PHP删除非空目录的函数代码小结
Feb 28 PHP
PHP设计模式之迭代器模式的深入解析
Jun 13 PHP
php中rename函数用法分析
Nov 15 PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 PHP
Zend Framework教程之Autoloading用法详解
Mar 08 PHP
Yii2实现同时搜索多个字段的方法
Aug 10 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
Jan 21 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
Apr 15 PHP
PHP后门隐藏的一些技巧总结
Nov 04 #PHP
phpstudy2020搭建站点的实现示例
Oct 30 #PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 #PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
Oct 30 #PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
Oct 30 #PHP
PHP fopen中文文件名乱码问题解决方案
Oct 28 #PHP
PHP dirname功能及原理实例解析
Oct 28 #PHP
You might like
让PHP开发者事半功倍的十大技巧小结
2010/04/20 PHP
php获得文件大小和文件创建时间的方法
2015/03/13 PHP
php文件管理基本功能简单操作
2017/01/16 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
可自定义速度的js图片无缝滚动示例分享
2014/01/20 Javascript
Jquery实现图片预加载与延时加载的方法
2014/12/22 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
每天一篇javascript学习小结(Date对象)
2015/11/13 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
Angular设置title信息解决SEO方面存在问题
2016/08/19 Javascript
浅谈jQuery为哪般去掉了浏览器检测
2016/08/29 Javascript
Vue.js每天必学之构造器与生命周期
2016/09/05 Javascript
如何利用vue+vue-router+elementUI实现简易通讯录
2019/05/13 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
原生JavaScript实现购物车
2021/01/10 Javascript
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
python数据结构之列表和元组的详解
2017/09/23 Python
Python深度优先算法生成迷宫
2018/01/22 Python
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
Python csv模块使用方法代码实例
2019/08/29 Python
JSF面试题:如何管量web层中的Bean,用什么标签。如何通过jsp页面与Bean绑定在一起进行处理?
2012/10/05 面试题
C#笔试题
2015/07/14 面试题
行政前台岗位职责
2013/12/04 职场文书
人力资源经理的岗位职责
2014/03/02 职场文书
医院信息公开实施方案
2014/05/09 职场文书
法人委托书范本
2014/09/15 职场文书
圣诞晚会主持词
2015/07/01 职场文书
2015年终个人政治思想工作总结
2015/11/24 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书
详解PHP设计模式之依赖注入模式
2021/05/25 PHP
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android
Apache Hudi的多版本清理服务彻底讲解
2022/03/31 Servers
mysqldump进行数据备份详解
2022/07/15 MySQL