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中创建并处理图象
Oct 09 PHP
Uchome1.2 1.5 代码学习 common.php
Apr 24 PHP
php 8小时时间差的解决方法小结
Dec 22 PHP
php创建基本身份认证站点的方法详解
Jun 08 PHP
PHP中的按位与和按位或操作示例
Jan 27 PHP
php内存缓存实现方法
Jan 24 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
Nov 05 PHP
PHP读取mssql json数据中文乱码的解决办法
Apr 11 PHP
PHP实现清除MySQL死连接的方法
Jul 23 PHP
thinkPHP简单实现多个子查询语句的方法
Dec 05 PHP
laravel 框架实现无限级分类的方法示例
Oct 31 PHP
Laravel框架处理用户的请求操作详解
Dec 20 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
跟我学Laravel之安装Laravel
2014/10/15 PHP
简单谈谈php浮点数精确运算
2016/03/10 PHP
PHP读取文件的常见几种方法
2016/11/03 PHP
基于javascript 闭包基础分享
2013/07/10 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
js纯数字逐一停止显示效果的实现代码
2016/03/16 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
2016/11/05 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
Bootstrap栅格系统的使用和理解2
2016/12/14 Javascript
ES6入门教程之Iterator与for...of循环详解
2017/05/17 Javascript
为输入框加入数字js校验代码分享
2017/11/02 Javascript
AngularJS中controller控制器继承的使用方法
2017/11/03 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
详解利用Angular实现多团队模块化SPA开发框架
2017/11/27 Javascript
vue2.0学习之axios的封装与vuex介绍
2018/05/28 Javascript
vue-router之解决addRoutes使用遇到的坑
2020/07/19 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
2020/07/27 Javascript
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
linux下python使用sendmail发送邮件
2018/05/22 Python
Django使用详解:ORM 的反向查找(related_name)
2018/05/30 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
Python实现生成密码字典的方法示例
2019/09/02 Python
python 利用jinja2模板生成html代码实例
2019/10/10 Python
python写一个随机点名软件的实例
2019/11/28 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
Python实现自动打开电脑应用的示例代码
2020/04/17 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
Django前后端分离csrf token获取方式
2020/12/25 Python
加拿大在线旅游公司:Flighthub
2019/03/11 全球购物
商务主管岗位职责
2013/12/08 职场文书
门卫班长岗位职责
2013/12/15 职场文书
自立自强的名人事例
2014/02/10 职场文书
2014年小班元旦活动方案
2014/02/16 职场文书
财产保全担保书范文
2014/04/01 职场文书
导游词之任弼时故居
2020/01/07 职场文书