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 相关文章推荐
我常用的几个类
Oct 09 PHP
php数字转汉字代码(算法)
Oct 08 PHP
PHP调用C#开发的dll类库方法
Jul 28 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
Sep 24 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
Oct 26 PHP
PHP设计模式之装饰者模式代码实例
May 11 PHP
php中二维数组排序问题方法详解
Aug 28 PHP
PHP封装函数实现生成随机的字符串验证码
Jan 24 PHP
PHP设计模式之PHP迭代器模式讲解
Mar 22 PHP
关于laravel 日志写入失败问题汇总
Oct 17 PHP
Yii框架 session 数据库存储操作方法示例
Nov 18 PHP
Laravel Reponse响应客户端示例详解
Sep 03 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采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
php实现json编码的方法
2015/07/30 PHP
php实现微信公众号无限群发
2015/10/11 PHP
jquery 循环显示div的示例代码
2013/10/18 Javascript
jQuery validate插件实现ajax验证重复的2种方法
2016/01/22 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
Nodejs中Express 常用中间件 body-parser 实现解析
2017/05/22 NodeJs
vue车牌号校验和银行校验实战
2019/01/23 Javascript
详解a标签添加onclick事件的几种方式
2019/03/29 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
2019/07/19 Javascript
Nodejs监控事件循环异常示例详解
2019/09/22 NodeJs
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[48:27]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
python实现同时给多个变量赋值的方法
2015/04/30 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
Python实现去除列表中重复元素的方法小结【4种方法】
2018/04/27 Python
python判断自身是否正在运行的方法
2019/08/08 Python
增大python字体的方法步骤
2020/07/05 Python
python爬虫beautifulsoup解析html方法
2020/12/07 Python
python爬取代理ip的示例
2020/12/18 Python
Web前端页面跳转并取到值
2017/04/24 HTML / CSS
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
2016/10/17 面试题
个人找工作自荐信格式
2013/09/21 职场文书
四年的大学生生活自我评价
2013/12/09 职场文书
大学毕业生通用自我评价
2014/01/05 职场文书
2014年小学元旦活动方案
2014/02/12 职场文书
超市中秋节促销方案
2014/03/21 职场文书
数学兴趣小组活动总结
2014/07/08 职场文书
低碳环保演讲稿
2014/08/28 职场文书
纪念九一八事变演讲稿1000字
2014/09/14 职场文书
群众路线个人对照检查材料
2014/09/23 职场文书
2014年光棍节活动策划方案(创意集锦)
2014/09/29 职场文书
教师查摆问题自查报告
2014/10/11 职场文书
倡议书怎么写?
2019/04/11 职场文书
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL
SQL解决未能删除约束问题drop constraint
2022/05/30 SQL Server