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初学者们头痛的十四个问题
Jan 15 PHP
php在线生成ico文件的代码
Oct 09 PHP
PHP时间戳使用实例代码
Jun 07 PHP
解析curl提交GET,POST,Cookie的简单方法
Jun 29 PHP
php中的strpos使用示例
Feb 27 PHP
php获取中文拼音首字母类和函数分享
Apr 24 PHP
smarty内置函数capture用法分析
Jan 22 PHP
PHP使用mkdir创建多级目录的方法
Dec 22 PHP
PHP QRCODE生成彩色二维码的方法
May 19 PHP
PHP单例模式简单用法示例
Jun 23 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
PHP实现一个按钮点击上传多个图片操作示例
Jan 23 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
paypal即时到账php实现代码
2010/11/28 PHP
php漏洞之跨网站请求伪造与防止伪造方法
2013/08/15 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
2014/06/04 PHP
php 5.6版本中编写一个PHP扩展的简单示例
2015/01/20 PHP
php数组添加与删除单元的常用函数实例分析
2015/02/16 PHP
详解WordPress开发中的get_post与get_posts函数使用
2016/01/04 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
基于PHP实现商品成交时发送短信功能
2016/05/11 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
学习使用AngularJS文件上传控件
2016/02/16 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
JavaScript的事件机制详解
2017/01/17 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
2018/09/27 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
2019/05/09 Javascript
Vee-validate 父组件获取子组件表单校验结果的实例代码
2019/05/20 Javascript
详解mpvue开发微信小程序基础知识
2019/09/23 Javascript
JQuery Ajax如何实现注册检测用户名
2020/09/25 jQuery
详解vue中在父组件点击按钮触发子组件的事件
2020/11/13 Javascript
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
python 列表降维的实例讲解
2018/06/28 Python
pycharm创建一个python包方法图解
2019/04/10 Python
利用selenium爬虫抓取数据的基础教程
2019/06/10 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
Python基于爬虫实现全网搜索并下载音乐
2021/02/14 Python
Hunkemöller西班牙:欧洲最大的内衣连锁店
2018/08/15 全球购物
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
一些网络技术方面的面试题
2014/05/01 面试题
幼儿园教师奖惩制度
2014/02/01 职场文书
质监局领导班子对照检查材料思想汇报
2014/09/27 职场文书
2015政治思想表现评语
2015/03/25 职场文书
关爱留守儿童主题班会
2015/08/13 职场文书
特别篇动画《总之就是非常可爱 ~制服~》PV公开,2022年夏季播出
2022/04/04 日漫