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 相关文章推荐
MVC模式的PHP实现
Oct 09 PHP
php chr() ord()中文截取乱码问题解决方法
Sep 08 PHP
模板引擎正则表达式调试小技巧
Jul 20 PHP
linux下安装php的memcached客户端
Aug 03 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
Jul 09 PHP
ubuntu下配置nginx+php+mysql详解
Sep 10 PHP
PHP实现文件上传和多文件上传
Dec 24 PHP
PHP下载远程图片并保存到本地方法总结
Jan 22 PHP
PHP 中提示undefined index如何解决(多种方法)
Mar 16 PHP
PHP数组函数知识汇总
May 12 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
Sep 11 PHP
php5与php7的区别点总结
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
php5.3 废弃函数小结
2010/05/16 PHP
PHP学习之数组的定义和填充
2011/04/17 PHP
PHP基于MySQL数据库实现对象持久层的方法
2015/06/17 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
PHP实现 APP端微信支付功能
2018/06/22 PHP
javascript 动态生成私有变量访问器
2009/12/06 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
2014/04/29 Javascript
JS获取当前日期时间并定时刷新示例
2021/03/04 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
Node.js中的缓冲与流模块详细介绍
2015/02/11 Javascript
详解JavaScript对象和数组
2015/12/03 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
JavaScript学习笔记之取数组中最大值和最小值
2016/03/23 Javascript
jQuery插件HighCharts绘制简单2D折线图效果示例【附demo源码】
2017/03/21 jQuery
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
[04:16]完美世界DOTA2联赛PWL S2 集锦第一期
2020/11/23 DOTA
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
2018/07/09 Python
Python学习笔记之自定义函数用法详解
2019/06/08 Python
利用Vscode进行Python开发环境配置的步骤
2020/06/22 Python
浅谈优化Django ORM中的性能问题
2020/07/09 Python
pycharm 实现复制一行的快捷键
2021/01/15 Python
Python实现微信表情包炸群功能
2021/01/28 Python
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
新加坡网上美容店:Hermo新加坡
2019/06/19 全球购物
Bose英国官方网站:美国知名音响品牌
2020/01/26 全球购物
捐助倡议书范文
2014/04/15 职场文书
干部考核评语
2014/04/29 职场文书
公共机构节能宣传周活动总结
2014/07/09 职场文书
转正申请报告格式
2015/05/15 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers
ubuntu如何搭建vsftpd服务器
2022/12/24 Servers