php empty()和isset()的区别

php isset()和empty()的区别 php isset()和empty()的区别 empty()函数用于检查一个变量是否为空。 empty() 判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于 FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。 empty() 5.5 版本之后支持表达式了,而不仅仅是变量。 当 var 存在,并且是一个非空非零的值时返回 FALSE 否则... 阅读详情

在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再。

顾名思义,empty() 判断一个变量是否为“空”,isset() 判断一个变量是否已经设置。正是这种所谓的“顾名思义”,令我开始时走了些弯路:当一个变量值等于0时,empty()也会成立(True),因而会发生一些意外。原来,empty() 和 isset() 虽然都是变量处理函数,它们都用来判断变量是否已经配置,它们却是有一定的区别:empty还会检测变量是否为空、为零。当一个变量值为0,empty() 认为这个变量同等于空,即相当于没有设置。

比如检测 $id 变量,当 $id=0 时,用empty() 和 isset() 来检测变量 $id 是否已经配置,两都将返回不同的值—— empty() 认为没有配置,isset() 能够取得 $id 的值:

 $id=0;
    
empty($id)?print "It's empty .":print "It's $id ."; 
      
//结果:It's empty .
    print "<br>";
    
!isset($id)?print "It's empty .":print "It's $id .";
      
//结果:It's 0 .


   这意味着,我们在使用变量处理函数时,当该变量可能出现0的值,使用 empty() 要小心,这个时候用 isset 取代它更明智一些。

当一个php页面的 URL 尾部参数出现 id=0 时(比如:test.php?id=0),试比较:

if(empty($id)) $id=1; - 若 id=0 ,id 也会为1
if(!isset($id)) $id=1; - 若 id=0 ,id 不会为1


可分开运行以下代码检测上述推断:

 if(empty($id)) $id=1;
    
print $id; // 得到 1

    
if(!isset($id)) $id=1;
    
print $id; //得到 0


要说它们的联系,其共同点就是empty()和isset()都是变量处理函数,作用是判断变量是否已经配置,正是由于它们在处理变量过程中有很大的相似性,才导致对它们的关系认识不足。单从empty()和isset()这两个函数本身来考虑的话会把人弄得更糊涂,换一个角度来它。empty()和isset()的处理对象无外乎未定义变量,0,空字符串。
如果变量为0,则empty()会返回TRUE,isset()会返回TRUE;

如果变量为空字符串,则empty()会返回TRUE,isset()会返回TRUE;

如果变量未定义,则empty()会返回TRUE,isset()会返回FLASE;

手册中对empty()的解释如下:
描述bool empty( mixed var )
如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。
手册中对isset()的解释如下:
isset()检测变量是否设置
描述bool isset ( mixed var [, mixed var [, ...]] )
如果 var 存在则返回 TRUE,否则返回 FALSE。
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。
警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined()函数。
当要 判断一个变量是否已经声明的时候 可以使用 isset 函数
当要 判断一个变量是否已经赋予数据且不为空 可以用 empty 函数
当要 判断 一个变量 存在且不为空 先isset 函数 再用 empty 函数
大数据课程综合实验案例:网站用户行为分析 大数据课程综合实验案例1 案例简介1.1 案例目的1.2 适用对象1.3 时间安排1.4 预备知识1.5 硬件要求1.6 软件工具1.7 数据集1.8 案例任务1.9 实验步骤2 本地数据上传到数据仓库Hive2.1 实验数据集的下载2.2 数据集的预处理(1)删除文件第一行记录,即字段名称(2)对字段进行预处理(3)导入数据库3 Hive数据分析3.1 操作Hive3.2 简单查询分析3.3 查询条数统计分析3.4 关键字条件查询分析3.4.1 以关键字的存在区间为条件的查询3.4.2 关键字赋予给定值为 阅读详情

相关推荐

Windows Server 2016上,手把手教你搭建MDT 8456自动化部署环境(含ADK 2004与WDS配置)

本文详细指导在Windows Server 2016上搭建MDT 8456自动化部署环境,涵盖ADK 2004与WDS配置全流程。通过标准化操作系统部署、应用程序静默安装和驱动程序注入,实现企业级自动化部署解决方案,显著提升IT运维效率。特别针对兼容性问题和权限陷阱提供实战解决方案。

weixin_29876033的博客 386

PHP isset() 和 empty() 区别

这两个函数在PHP编程中经常用于检查变量是否已设置或是否为空,但它们各自的用途和行为有所不同。

sheji888的专栏 1372

告别Qweb!用ReportBro在Odoo 13-19版本中5步搞定动态报表

本文介绍了如何在Odoo 13-19版本中使用ReportBro替代Qweb快速实现动态报表设计。通过5步集成指南,包括环境准备、前端集成、后端服务搭建等,展示了ReportBro在可视化设计、即时预览和多格式输出(PDF/XLSX)方面的优势,显著提升开发效率和报表灵活性。

mac99的博客 800

PHP isset()与empty()的使用区别详解

在list.blade.php文件中 采用@if(isset($search_all))@else <tr> <th colspan="15">您查询的结果不存在!</th> </tr> @endif 明明从接受的$search_all的值是空,却不能显示:您查询的结果不存在后来将isset修改为empty后,当$search的值为空时,可以正常显示:您查询的结果不存在他们的共

gengfu_php的博客 1399

保姆级教程:用Protege 5.5.0从零构建你的第一个知识图谱(附实战案例文件)

本文提供了一份详细的Protege 5.5.0使用指南,从零开始构建知识图谱。通过'中国古代文人关系网'实战案例,涵盖软件安装、本体创建、属性定义、实例填充到高级功能应用的全流程,帮助初学者快速掌握知识建模的核心技能。

weixin_26808205的博客 234

思博伦Spirent TestCenter创建单播流uni-stream

Traffic Generator列表中会出现刚才创建的uni-stream,创建完成。通常测试情况下,主要对Ethenet II和IPv4 Header进行配置。(通常情况下,如果流配置比较规范,选择任意端口接收,也没问题。编辑uni-stream基本信息。配置本条流由STC哪个端口接收。

辗转反测的博客 1681

PHP isset()和empty()区别

在php中,当要判断一个变量是否已经声明的时候可以使用isset函数,当要判断一个变量是否已经赋予数据且补位空,可以用empty函数,当要判断一个变量存在且不为空,先isset函数,再用empty函数。 本文章向大家详细介绍isset()和empty()区别及使用实例。

wuxiaopengnihao1的博客 1992

解决WSL2网络隔离:Ubuntu子系统共享Windows代理的3种方法

本文详细解析了WSL2的网络隔离特性,并提供了三种在Ubuntu子系统中共享Windows代理的实用方法:环境变量法、配置文件法和系统服务法。通过具体代码示例和方案对比,帮助开发者快速解决WSL2网络访问问题,实现一键设置代理,提升开发效率。

weixin_29295541的博客 450

PHP中 empty() 和 isset() 的区别

区别: empty()函数用于检查一个变量是否为空。当一个变量并不存在,或者它的值等同于 FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。 isset()函数用于检测变量是否已设置并且非 NULL。如果已经使用 unset() 释放了一个变量之后,再通过 isset() 判断将返回 FALSE。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是 null 字符("\0")并不等同于 PHP 的 NULL 常量。 对于 ..

幽篁晓筑的博客 1923

【深度学习驱动流体力学】完整配置安装 OpenFOAM 及其所需的ThirdParty与QT5工具

针对以上文件及文件目录介绍其功能特性:Allclean:这是一个脚本或命令,通常用于清理(即删除)所有编译生成的临时文件和目标文件。执行后,可以将编译过程中生成的中间文件和已编译的程序删除,以便重新开始编译或者清理空间。Allwmake:这是一个脚本或命令,用于编译并安装ThirdParty-10目录中的所有软件包。执行此命令会遍历所有子目录,编译其中的软件包并将它们安装到指定位置。这是一个脚本或命令,用于编译和安装Libccmio库。

源代码杀手的博客 1997

SIMATIC WINCC V8.0安装教程(Win11系统)

SIMATIC WINCC V8.0安装教程(Win11系统)

Robot_PLC_HMI_Automation 9038

PHP中empty()和isset()的区别

虽然记得,"empty()" 是检测变量是否为空,"isset()"是检测变量是否设置,但是有时候还是容易凌乱,看千遍不如自己写一遍。 手册中是这样定义的 "empty"  判断一个变量是否被认为是空的,当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,"empty"并不会产生警告。 “isset" 检测变量是否设置,并且不是NULL。如果已经使用了

lightWay的博客 808

RAG面试内容整理-8. 文档分块策略(滑动窗口、语义切分)

RAG系统通常面对长文档或整篇知识库资料的检索需求,但大模型一次处理的文本长度有限,向量索引也需固定大小的文本片段。因此,将长文档拆分成合适片段是必不可少的步骤,被称为文档分块(chunking)策略。

不务正业的猿 690

PHP的isset() 和 empty() 区别一共包含几个部分?使用场景是什么?底层原理是什么?

【代码】PHP的isset() 和 empty() 区别一共包含几个部分?使用场景是什么?底层原理是什么?

长风破浪会有时的博客 1395

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

PHP中isset()与empty()函数的区别

两者都是测试变量用的。 isset()是测试变量是否被赋值; empty()是测试一个已经被赋值的变量是否为空。 注意:如果一个变量没被赋值就引用在php里是被允许的,但会有notice提示。如果一个变量被赋空值,$foo=”“或者$foo=0或者$foo=false,那么empty($foo)返回真,isset($foo)也返回真,就是说赋空值不会注销一个变量。要注销一个变量,可以用 un

Super乐De博客 627

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

php中isset和empty,PHP中的isset()与empty()的区别....

php中的判断变量的函数isset()与empty()经常容易搞混,今天无事网上搜索点资料整理了一下下,当做笔记记录下来,以方便以后再在这个问题上蒙圈的时候还可以翻出来查看一下下。。。isset()函数作用:一般用来检测变量是否设置若变量不存在则返回 FALSE若变量存在且其值为NULL,也返回 FALSE若变量存在且值不为NULL,则返回 TURE同时检查多个变量时,每个单项都符合上一条要求时才...

weixin_39916681的博客 142

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

PHP手册中empty()和isset()的解释和区别

empty (PHP 4, PHP 5) empty — 检查一个变量是否为空 说明 bool empty ( mixed $var ) 如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var;以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRU

aslackers的专栏 572

php中的isset函数,php中isset()、isnull()和empty()三个函数的区别

摘要:在php中经常会用isset()、isnull()和empty()三个函数来做if判断,那这三个函数到底有什么不同呢? 在php中经常会用isset()、is_null()和empty()三个函数来做if判断,那这三个函数到底有什么不同呢?下面通过官方文档对这三个函数的解释来说说他们的区别(PHP版本:7.3.4nts)一、isset()函数函数形式:isset(mixed$va...

weixin_34357833的博客 724

php中isset()和empty()函数的区别

PHP宝典@TOC php中isset()和empty()函数的区别 从今天起,在程序员的道路上走得越来越扎实了,有一些小的问题和知识,我将会采用小文章纪录下来,那么第一篇文章就从这两个函数来说起吧! isset() 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体...

chen1194796515的博客 265

PHP系列:浅谈PHP中isset()和empty() 函数的区别

浅谈PHP中isset()和empty() 函数的区别

weixin_54626591的博客 321

php isset() empty(),PHP isset()与empty()两者之间的使用区别

很多使用PHP编写程序的小伙件,都应该纠结过isset()函数与empty()函数之间到底有啥区别。这篇博文分别介绍一下 isset() 函数与 empty() 函数的用法,以及它们之间的区别。PHP isset()函数isset():检测变量是否设置,并且不是 NULL。成立返回true 否则返回 false;语法:isset(var)参数:var : 要检查的变量,可以是数组例:isset()...

weixin_42221522的博客 112

PHP isset()、empty()、is_null()的使用区别详解

其共同点就是empty()和 isset()都是变量处理函数,作用是判断变量是否已经配置,正是由于它们在处理变量过程中有很大的相似性,才导致对它们的关系认识不足。单从 empty()和isset()这两个函数本身来考虑的话会把人弄得更糊涂,换一个角度来它。empty()和isset()的处理对象无外乎未定义变量,0,空字符串。如果变量为0,则empty()会返回TRUE,isset()会返回TRUE;如果变量为空字符串,则empty()会返回TRUE,isset()会返回TRUE;如果变量未定义,则empt

php菜鸟技术天地 1227

php-isset()和empty()的区别

相信大家对isset()和empty()这两个函数都不陌生,都是用来判断变量情况的,很多人都会把他搞混,或者不知道什么时候用哪个,那今天就来深入理解一下,彻底弄清楚。 联系:既然容易搞混那么肯定有相似的地方,其共同点就是empty()和 isset()都是变量处理函数,作用是判断变量是否已经配置,正是由于它们在处理变量过程中有很大的相似性,才导致对它们的关系认识不足。 区别:他们最大的区别就在于对...

LYue123的博客 483
上一篇: php中heredoc的使用方法
下一篇: php几个常用预定义变量,有关路径的
Lankecms
博客等级 码龄15年 14粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值