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开发过程中常用函数收藏
Dec 14 PHP
php实现指定字符串中查找子字符串的方法
Mar 17 PHP
PHP模板引擎smarty详细介绍
May 26 PHP
使用PHP接受文件并获得其后缀名的方法
Aug 05 PHP
简介PHP的Yii框架中缓存的一些高级用法
Mar 29 PHP
PHP实现的浏览器检查类
Apr 11 PHP
php mysqli查询语句返回值类型实例分析
Jun 29 PHP
php arsort 数组降序排序详细介绍
Nov 17 PHP
PHP基于GD库实现的生成图片缩略图函数示例
Jul 05 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
May 02 PHP
PHP数组实际占用内存大小原理解析
Dec 11 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
ftp类(example.php)
2006/10/09 PHP
php获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
Javascript valueOf 使用方法
2008/12/28 Javascript
用jQuery技术实现Tab页界面之二
2009/09/21 Javascript
jQuery异步验证用户名是否存在示例代码
2014/05/21 Javascript
浅谈JavaScript字符集
2014/05/22 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
深入浅出理解javaScript原型链
2015/05/09 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
2016/06/12 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
JavaScript实现获取select下拉框中第一个值的方法
2018/02/06 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
vuex 解决报错this.$store.commit is not a function的方法
2018/12/17 Javascript
Vue 中 a标签上href无法跳转的解决方式
2019/11/12 Javascript
JS实现可视化音频效果的实例代码
2020/01/16 Javascript
Vue微信公众号网页分享的示例代码
2020/05/28 Javascript
Vue中nprogress页面加载进度条的方法实现
2020/11/13 Javascript
ES6学习教程之Promise用法详解
2020/11/22 Javascript
[02:16]卖萌的僵尸 DOTA2神话信使飞僵小宝来袭
2014/03/24 DOTA
python 简易计算器程序,代码就几行
2009/08/29 Python
python抓取网页时字符集转换问题处理方案分享
2014/06/19 Python
Python引用传值概念与用法实例小结
2017/10/07 Python
Python将多份excel表格整理成一份表格
2018/01/03 Python
Python3之不使用第三方变量,实现交换两个变量的值
2019/06/26 Python
python matplotlib折线图样式实现过程
2019/11/04 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
python 实现客户端与服务端的通信
2020/12/23 Python
英国Amara家居法国网站:家居装饰,现代装饰和豪华礼品
2016/12/15 全球购物
英国袜子店:Sock Shop
2017/01/11 全球购物
涉外文秘个人求职的自我评价
2013/10/07 职场文书
电子邮箱格式怎么写
2014/01/12 职场文书
授权委托书范本(单位)
2014/09/28 职场文书
捐款感谢信
2015/01/20 职场文书
2015年读书月活动总结
2015/03/26 职场文书
2015年质量管理工作总结范文
2015/05/18 职场文书