PHP中empty,isset,is_null用法和区别

发布时间 - 2026-01-10 23:09:32    点击率:

1.empty用法

bool empty ( mixed var)
如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE

2.isset()

isset -- 检测变量是否设置

描述
bool isset ( mixed var [, mixed var [, ...]])
如果 var 存在则返回 TRUE,否则返回 FALSE。
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("0")并不等同于 PHP 的 NULL 常数。

注意:如果变量不存在,isset()和empty()都不会报错;is_null(),is_numeric()会报错

如何区别如下数组中 [0,'',null] 三个元素?(1)区别0:

$a = 0;
isset($a) && is_numeric($a) === true

(2)区别''

$a = '';
empty($a) && $a=== ''

(3)区别null

$a = null;
is_null($a);  

另外在做表单提交的时候可能经常要检测一个变量是否存在,假如$_REQUEST['status'] = 0;使用empty($_REQUEST['status'])返回true,但是使用isset($_REQUEST['status']) 判断就不是空

3. is_null():

bool is_null ( mixed $var )   (php.net官方文档的函数定义)
当参数满足下面三种情况时,is_null()将返回TRUE,其它的情况就是FALSE
1、它被赋值为NULL
2、它还没有赋值
3、它未定义,相当于unset(),将一个变量unset()后,不就是没有定义吗
让我们来看一些例子:

$myvar = NULL;  
var_dump(is_null($myvar)); // TRUE 
$myvar1;      
var_dump(is_null($myvar1)); // TRUE Notice: Undefined variable 
$num = 520; 
unset($num); 
var_dump(is_null($num)); //TRUE Notice: Undefined variable 
var_dump(is_null($some_undefined_var)); //TRUE Notice: Undefined variable 
 
$myvar = 0; is_null($myvar);   // FALSE 
$myvar = FALSE; is_null($myvar); // FALSE 
$myvar = ''; is_null($myvar);  // FALSE 


# isset  # empty  # isnull  # php  # 区别  # php中isset与empty函数的困惑与用法分析  # PHP中的empty、isset、isnull的区别与使用实例  # PHP中检查isset()和!empty()函数的必要性  # PHP isset()与empty()的使用区别详解  # 深入理解PHP中的empty和isset函数  # 一张表搞清楚php is_null、empty、isset的区别  # php empty  # is_null判断比较(差异与异同)  # PHP isset empty函数相关面试题及解析  # 报错  # 的是  # 都不  # 让我们  # 没有任何  # 要注意  # 不存在  # 三种  # 将被  # 表单  # 它还  # 它将  # 值为  # 是否存在  # 为空  # 设置成  # 组中  # 或非  # 文档 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 无锡营销型网站制作公司,无锡网选车牌流程?  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  Laravel如何实现数据库事务?(DB Facade示例)  深圳网站制作的公司有哪些,dido官方网站?  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  实例解析Array和String方法  Laravel怎么上传文件_Laravel图片上传及存储配置  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  使用C语言编写圣诞表白程序  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  如何在建站之星绑定自定义域名?  中山网站制作网页,中山新生登记系统登记流程?  lovemo网页版地址 lovemo官网手机登录  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  如何快速查询域名建站关键信息?  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  如何在IIS中新建站点并配置端口与物理路径?  Python进程池调度策略_任务分发说明【指导】  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  JS去除重复并统计数量的实现方法  JavaScript如何实现继承_有哪些常用方法  php打包exe后无法访问网络共享_共享权限设置方法【教程】  如何快速搭建支持数据库操作的智能建站平台?  Laravel模型事件有哪些_Laravel Model Event生命周期详解  如何利用DOS批处理实现定时关机操作详解  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  Laravel定时任务怎么设置_Laravel Crontab调度器配置  免费视频制作网站,更新又快又好的免费电影网站?  微信h5制作网站有哪些,免费微信H5页面制作工具?  创业网站制作流程,创业网站可靠吗?  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  如何在云主机快速搭建网站站点?  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  linux写shell需要注意的问题(必看)  iOS正则表达式验证手机号、邮箱、身份证号等  javascript基于原型链的继承及call和apply函数用法分析  网站制作报价单模板图片,小松挖机官方网站报价?  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  百度浏览器如何管理插件 百度浏览器插件管理方法  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  EditPlus中的正则表达式 实战(4)  智能起名网站制作软件有哪些,制作logo的软件?  MySQL查询结果复制到新表的方法(更新、插入)  如何在阿里云部署织梦网站?  魔方云NAT建站如何实现端口转发?  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  Laravel如何实现用户注册和登录?(Auth脚手架指南)