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 相关文章推荐
一个程序下载的管理程序(四)
Oct 09 PHP
PHP4实际应用经验篇(2)
Oct 09 PHP
php绝对路径与相对路径之间关系的的分析
Mar 03 PHP
APACHE的AcceptPathInfo指令使用介绍
Jan 18 PHP
解析PHP中intval()等int转换时的意外异常情况
Jun 21 PHP
zf框架的数据库追踪器使用示例
Mar 13 PHP
php的memcache类分享(memcache队列)
Mar 26 PHP
PHP中使用数组指针函数操作数组示例
Nov 19 PHP
thinkphp中ajax与php响应过程详解
Dec 08 PHP
PHP原生函数一定好吗?
Dec 08 PHP
PHP实现求两个字符串最长公共子串的方法示例
Nov 17 PHP
实现laravel 插入操作日志到数据库的方法
Oct 11 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
我的论坛源代码(九)
2006/10/09 PHP
php中将网址转换为超链接的函数
2011/09/02 PHP
thinkphp中html:list标签传递多个参数实例
2014/10/30 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
2016/03/21 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
另类调用flash无须激活的方法
2006/12/27 Javascript
js复制到剪切板的实例方法
2013/06/28 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
深入了解JavaScript中的Symbol的使用方法
2015/07/28 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
JS上传图片预览插件制作(兼容到IE6)
2016/08/07 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
前端js实现文件的断点续传 后端PHP文件接收
2016/10/14 Javascript
关于js函数解释(包括内嵌,对象等)
2016/11/20 Javascript
jq checkbox 的全选并ajax传参的实例
2017/04/01 Javascript
使用node.js搭建服务器
2017/05/20 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
2018/02/28 Javascript
实现Vue的markdown文档可以在线运行的方法示例
2018/12/11 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
2019/05/18 Javascript
vue项目中定义全局变量、函数的几种方法
2019/11/08 Javascript
Vue的Options用法说明
2020/08/14 Javascript
[01:07:11]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python内置函数delattr的具体用法
2017/11/23 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
itchat-python搭建微信机器人(附示例)
2019/06/11 Python
python标准库OS模块详解
2020/03/10 Python
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
一名女生的自荐信
2013/12/08 职场文书
商务英语大学生职业生涯规划书范文
2014/01/01 职场文书
餐饮企业总经理岗位职责范文
2014/02/18 职场文书
乡镇挂职心得体会
2014/09/04 职场文书
简单租房协议书
2014/10/21 职场文书
赔偿协议书怎么写
2015/01/28 职场文书