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中OO之静态关键字以及类常量的详解
Jun 07 PHP
php计算当前程序执行时间示例
Apr 24 PHP
php抽象类使用要点与注意事项分析
Feb 09 PHP
PHP实现支持SSL连接的SMTP邮件发送类
Mar 05 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
Oct 26 PHP
浅析Yii2缓存的使用
May 10 PHP
PHP中的print_r 与 var_dump 输出数组
Jun 13 PHP
深入理解PHP 数组之count 函数
Jun 13 PHP
Netbeans 8.2与PHP相关的新特性介绍
Oct 08 PHP
php根据地址获取百度地图经纬度的实例方法
Sep 03 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
php与阿里云短信接口接入操作案例分析
May 27 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 screw加密php源代码
2013/06/20 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
基于jquery的气泡提示效果
2010/05/31 Javascript
通过jQuery源码学习javascript(三)
2012/12/27 Javascript
jquery获得页面元素的坐标值实现思路及代码
2013/04/15 Javascript
node.js中的console用法总结
2014/12/15 Javascript
JavaScript数据类型之基本类型和引用类型的值
2015/04/01 Javascript
javascript制作幻灯片(360度全景图片)
2015/07/28 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
2017/05/09 Javascript
详解vee-validate的使用个人小结
2017/06/07 Javascript
JavaScript中关于class的调用方法
2017/11/28 Javascript
Vue+Vux项目实践完整代码
2017/11/30 Javascript
在Vue中使用echarts的方法
2018/02/05 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
Java Varargs 可变参数用法详解
2020/01/28 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
详解node.js创建一个web服务器(Server)的详细步骤
2021/01/15 Javascript
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
Python实现简单http服务器
2018/04/12 Python
Python 加密与解密小结
2018/12/06 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
Python操作注册表详细步骤介绍
2020/02/05 Python
Python生成随机验证码代码实例解析
2020/06/09 Python
Python pytesseract验证码识别库用法解析
2020/06/29 Python
5分钟快速掌握Python定时任务框架的实现
2021/01/26 Python
波兰在线运动商店:YesSport
2020/07/23 全球购物
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
大学生在校学习的自我评价
2014/02/18 职场文书
党员违纪检讨书
2014/02/18 职场文书
井冈山红色之旅感想
2014/10/07 职场文书
表扬信格式模板
2015/05/05 职场文书
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL
python代码实现扫码关注公众号登录的实战
2021/11/01 Python
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python