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模板页面中分页代码的解析
Feb 06 PHP
PHP+jQuery实现自动补全功能源码
May 15 PHP
使用PHP curl模拟浏览器抓取网站信息
Oct 28 PHP
PHP扩展模块memcached长连接使用方法分析
Dec 24 PHP
thinkPHP2.1自定义标签库的导入方法详解
Jul 20 PHP
php 生成Tab键或逗号分隔的CSV
Sep 24 PHP
php实现通过soap调用.Net的WebService asmx文件
Feb 27 PHP
PHP 中常量的知识整理
Apr 14 PHP
Thinkphp5.0自动生成模块及目录的方法详解
Apr 17 PHP
PHP使用file_get_contents发送http请求功能简单示例
Apr 29 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
Aug 10 PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 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/12/06 PHP
php fsockopen解决办法 php实现多线程
2014/01/20 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
2014/05/10 PHP
ThinkPHP上使用多说评论插件的方法
2014/10/31 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
js限制文本框只能输入数字(正则表达式)
2012/07/15 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
2013/06/27 Javascript
chrome下img加载对height()的影响示例探讨
2014/05/26 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
jQuery中ajax的load()与post()方法实例详解
2016/01/05 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
微信小程序实现滑动删除效果
2017/05/19 Javascript
详解HTTPS 的原理和 NodeJS 的实现
2017/07/04 NodeJs
vue弹窗消息组件的使用方法
2020/09/24 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
2018/08/31 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
2019/07/05 Javascript
vue实现权限控制路由(vue-router 动态添加路由)
2019/11/04 Javascript
详解JavaScript 中的批处理和缓存
2020/11/19 Javascript
flask框架使用orm连接数据库的方法示例
2018/07/16 Python
python 双循环遍历list 变量判断代码
2020/05/04 Python
keras topN显示,自编写代码案例
2020/07/03 Python
canvas实现飞机打怪兽射击小游戏的示例代码
2018/07/09 HTML / CSS
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
BISSELL官网:北美吸尘器第一品牌
2019/03/14 全球购物
师范学院毕业生求职信范文
2013/12/26 职场文书
乡下人家教学反思
2014/02/01 职场文书
大学生自我评价范文分享
2014/02/21 职场文书
感恩父母的演讲稿
2014/05/06 职场文书
小学数学教研活动总结
2014/07/01 职场文书
法律专业大学生职业生涯规划书:向目标一步步迈进
2014/09/22 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
幼儿教师年度个人总结
2015/02/05 职场文书
周一早安温馨问候祝福语!
2019/07/15 职场文书
《最后一头战象》读后感:动物也有感情
2020/01/02 职场文书