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 相关文章推荐
一个分页的论坛
Oct 09 PHP
php中的一个中文字符串截取函数
Feb 14 PHP
在PHP中读取和写入WORD文档的代码
Apr 09 PHP
php expects parameter 1 to be resource, array given 错误
Mar 23 PHP
php 中的4种标记风格介绍
May 10 PHP
php笔记之:有规律大文件的读取与写入的分析
Apr 26 PHP
PHP的APC模块实现上传进度条
Oct 27 PHP
基于PHP给大家讲解防刷票的一些技巧
Nov 18 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
Dec 08 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
Sep 11 PHP
php 可变函数使用小结
Jun 12 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 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
杏林同学录(五)
2006/10/09 PHP
PHP实现网上点歌(二)
2006/10/09 PHP
功能齐全的PHP发送邮件类代码附详细说明
2008/07/10 PHP
thinkPHP5分页功能实现方法分析
2017/10/25 PHP
你所要知道JS(DHTML)中的一些技巧
2007/01/09 Javascript
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
jQuery操作select的实例代码
2012/06/14 Javascript
JS 对输入框进行限制(常用的都有)
2013/07/30 Javascript
简单的Jquery遮罩层代码实例
2013/11/14 Javascript
js取值中form.all和不加all的区别介绍
2014/01/20 Javascript
javascript获取form里的表单元素的示例代码
2014/02/14 Javascript
JavaScript中双叹号(!!)作用示例介绍
2014/04/10 Javascript
jquery中 $.expr使用实例介绍
2014/06/09 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
网页中右键功能的实现方法之contextMenu的使用
2017/02/20 Javascript
VUE2实现事件驱动弹窗示例
2017/10/21 Javascript
Vue.js 十五分钟入门图文教程
2018/09/12 Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
2018/09/25 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
layer父页获取弹出层输入框里面的值方法
2019/09/02 Javascript
vue中 v-for循环的用法详解
2020/02/19 Javascript
Node.js中出现未捕获异常的处理方法
2020/06/29 Javascript
vue实现下载文件流完整前后端代码
2020/11/17 Vue.js
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
Python标准库内置函数complex介绍
2014/11/25 Python
Python中非常实用的一些功能和函数分享
2015/02/14 Python
基于python(urlparse)模板的使用方法总结
2017/10/13 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
2018/07/25 Python
pycharm通过anaconda安装pyqt5的教程
2020/03/24 Python
python3.6中anaconda安装sklearn踩坑实录
2020/07/28 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
2020/07/28 Python
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
离婚案件被告代理词
2015/05/23 职场文书
js 数组 fill() 填充方法
2021/11/02 Javascript
css3应用示例:新增的选择器
2022/03/16 HTML / CSS