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 foreach、while性能比较
Oct 15 PHP
一道求$b相对于$a的相对路径的php代码
Aug 08 PHP
destoon整合ucenter后注册页面不跳转的解决方法
Jun 21 PHP
php中mkdir函数用法实例分析
Nov 15 PHP
浅析php单例模式
Nov 25 PHP
PHP实现的比较完善的购物车类
Dec 02 PHP
php调用KyotoTycoon简单实例
Apr 02 PHP
php数组生成html下拉列表的方法
Jul 20 PHP
Yii2框架数据库简单的增删改查语法小结
Aug 31 PHP
php实现和c#一致的DES加密解密实例
Jul 24 PHP
php微信开发之音乐回复功能
Jun 14 PHP
如何在PHP环境中使用ProtoBuf数据格式
Jun 19 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
模拟SQLSERVER的两个函数:dateadd(),datediff()
2006/10/09 PHP
PHP 变量定义和变量替换的方法
2009/07/30 PHP
php下网站防IP攻击代码,超级实用
2010/10/24 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
2016/03/08 PHP
PHP设计模式之工厂模式详解
2017/10/24 PHP
windows环境下使用Composer安装ThinkPHP5
2018/05/18 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
javascript 中对象的继承〔转贴〕
2007/01/22 Javascript
javascript firefox不显示本地预览图片问题的解决方法
2008/11/12 Javascript
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
javascript日期操作详解(脚本之家整理)
2015/09/05 Javascript
JS鼠标拖拽实例分析
2015/11/23 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
2016/03/11 Javascript
js仿百度登录页实现拖动窗口效果
2016/03/11 Javascript
详解如何使用Vue2做服务端渲染
2017/03/29 Javascript
使用vue如何构建一个自动建站项目
2018/02/05 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
一文看懂如何简单实现节流函数和防抖函数
2019/09/05 Javascript
深入分析jQuery.one() 函数
2020/06/03 jQuery
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
2020/08/06 Javascript
基于JavaScript的数据结构队列动画实现示例解析
2020/08/06 Javascript
[46:40]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
django如何实现视图重定向
2019/07/24 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
2019/08/15 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
Pandas替换及部分替换(replace)实现流程详解
2020/10/12 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
详解python3 GUI刷屏器(附源码)
2021/02/18 Python
CSS3图片旋转特效(360/60/-360度)
2013/10/10 HTML / CSS
100%植物性、有机、即食餐:Sakara Life
2018/10/25 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
2014年应届大学生毕业自我鉴定
2014/01/31 职场文书
质量承诺书格式
2014/05/20 职场文书
陪护人员误工证明
2015/06/24 职场文书
GoLang中生成UUID唯一标识的实现
2021/05/08 Golang