PHP isset()及empty()用法区别详解


Posted in PHP onAugust 29, 2020

PHP isset函数作用

isset函数是检测变量是否设置。

格式:bool isset( mixed var [, mixed var [, ...]] )

返回值:

若变量不存在则返回FALSE

若变量存在且其值为NULL,也返回FALSE

若变量存在且值不为NULL,则返回TURE

同时检查多个变量时,每个单项都符号上一条要求时才返回TRUE,否则结果为FALSE

如果已经使用unset()释放了一个变量之后,它将不再是isset()。若使用isset()测试一个被设置成NULL的变量,将返回FALSE。同时要注意的是一个NULL字节("\0")并不等同于PHP的NULL常数。

警告:isset()只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用defined()函数。

<?php

$a = array ('test' => 1, 'hello' => NULL);

var_dump( isset ($a['test') ); // TRUE
var_dump( isset ($a['foo') ); // FALSE
var_dump( isset ($a['hello') ); // FALSE

// 'hello' 等于 NULL,所以被认为是未赋值的。
// 如果想检测 NULL 键值,可以试试下边的方法。
var_dump( array_key_exists('hello', $a) ); // TRUE

?>

PHP的empty()函数

格式:bool empty(mixed var)

功能:检查一个变量是否为空

返回值:

若变量不存在则返回TRUE

若变量存在且值为""、0、"0"、NULL、、FALSE、array()、var $var;以及没有任何属性的对象,则返回TURE

若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var;以及没有任何属性的对象,则返回FALSE

empty()只能用于变量,传递任何其它参数都将造成Paser error而终止运行

检测常量是否已设置可使用defined()函数。

empty() 与 isset() 的一个简单比较

<?php 
$var = 0; 
// 结果为 true,因为 $var 为空 
if (empty($var)) { 
echo '$var is either 0 or not set at all'; 
} 
// 结果为 false,因为 $var 已设置 
if (!isset($var)) { 
echo '$var is not set at all'; 
} 
?>

当要判断一个变量是否已经声明的时候可以使用isset函数

当要判断一个变量是否已经赋予数据且不为空,可以用empty函数

当要判断一个变量存在且不为空,先isset函数,再用empty函数

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php 修改zen-cart下单和付款流程以防止漏单
Mar 08 PHP
fleaphp常用方法分页之Pager使用方法
Apr 23 PHP
php入门学习知识点六 PHP文件的读写操作代码
Jul 14 PHP
基于PHP文件操作的详解
Jun 05 PHP
一漂亮的PHP图片验证码实例
Mar 21 PHP
PHP include任意文件或URL介绍
Apr 29 PHP
php模拟用户自动在qq空间发表文章的方法
Jan 07 PHP
PHP Static延迟静态绑定用法分析
Mar 16 PHP
PHP简单实现上一页下一页功能示例
Sep 14 PHP
PHP之将POST数据转化为字符串的实现代码
Nov 03 PHP
php实现base64图片上传方式实例代码
Feb 22 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
PHP实现简单日历类编写
Aug 28 #PHP
PHP实现文件上传与下载
Aug 28 #PHP
PHP实现计算器小功能
Aug 28 #PHP
PHP实现简易图形计算器
Aug 28 #PHP
PHP实现简单的计算器
Aug 28 #PHP
php实现简易计算器
Aug 28 #PHP
有关PHP 中 config.m4 的探索
Aug 26 #PHP
You might like
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
2014/11/18 PHP
PHP实现通用alert函数的方法
2015/03/11 PHP
PHP与jquery实时显示网站在线人数实例详解
2016/12/02 PHP
PHP错误处理函数register_shutdown_function使用示例
2017/07/03 PHP
Track Image Loading效果代码分析
2007/08/13 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
js导出格式化的excel 实例方法
2013/07/17 Javascript
JavaScript动态添加列的方法
2015/03/25 Javascript
jQuery实现简单二级下拉菜单
2015/04/12 Javascript
jQuery菜单插件superfish使用指南
2015/04/21 Javascript
深入分析node.js的异步API和其局限性
2016/09/05 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
node.js遍历目录的方法示例
2018/08/01 Javascript
vue props对象validator自定义函数实例
2019/11/13 Javascript
小程序实现简单语音聊天的示例代码
2020/07/24 Javascript
[02:09]2018DOTA2亚洲邀请赛TNC赛前采访
2018/04/04 DOTA
Python中的生成器和yield详细介绍
2015/01/09 Python
Python下使用Psyco模块优化运行速度
2015/04/05 Python
pandas创建新Dataframe并添加多行的实例
2018/04/08 Python
Python实现接受任意个数参数的函数方法
2018/04/21 Python
Python实现ping指定IP的示例
2018/06/04 Python
在python带权重的列表中随机取值的方法
2019/01/23 Python
终于搞懂了Keras中multiloss的对应关系介绍
2020/06/22 Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
2020/07/13 Python
Java byte数组操纵方式代码实例解析
2020/07/22 Python
基于python爬取链家二手房信息代码示例
2020/10/21 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
DJI全球:DJI Global
2021/03/15 全球购物
农贸市场管理制度
2014/01/31 职场文书
优秀实习生主要事迹
2014/05/29 职场文书
骨干教师考核评语
2014/12/31 职场文书
2015年结对帮扶工作总结
2015/05/04 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
比较几种Redis集群方案
2021/06/21 Redis
vue实现Toast组件轻提示
2022/04/10 Vue.js