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发明人谈MVC和网站设计架构 貌似他不支持php用mvc
Jun 04 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
Dec 25 PHP
MySQL的FIND_IN_SET函数使用方法分享
Mar 27 PHP
php设置编码格式的方法
Mar 05 PHP
ajax取消挂起请求的处理方法
Mar 18 PHP
PHP自动识别字符集并完成转码详解
Aug 02 PHP
ThinkPHP表单自动验证实例
Oct 13 PHP
php获取远程文件的内容和大小
Nov 03 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
Jun 06 PHP
php实现构建排除当前元素的乘积数组方法
Oct 06 PHP
实例讲解PHP表单处理
Feb 15 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
PHP安装问题
2006/10/09 PHP
PHP与javascript实现变量交互的示例代码
2013/07/23 PHP
php给图片添加文字水印方法汇总
2015/08/27 PHP
Zend Framework分页类用法详解
2016/03/22 PHP
javascript日期转换 时间戳转日期格式
2011/11/05 Javascript
javascript 获取图片尺寸及放大图片
2013/09/04 Javascript
使用js的replace()方法查找字符示例代码
2013/10/28 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
2014/01/26 Javascript
gridview生成时如何去掉style属性中的border-collapse
2014/09/30 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
2016/12/26 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
2019/08/26 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
简单了解前端渐进式框架VUE
2020/07/20 Javascript
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
Python新手在作用域方面经常容易碰到的问题
2015/04/03 Python
Python通过poll实现异步IO的方法
2015/06/04 Python
使用python实现生成用户信息
2017/03/20 Python
Python+matplotlib+numpy绘制精美的条形统计图
2018/01/02 Python
对numpy数据写入文件的方法讲解
2018/07/09 Python
python 将print输出的内容保存到txt文件中
2018/07/17 Python
python 遍历列表提取下标和值的实例
2018/12/25 Python
Python3.5模块的定义、导入、优化操作图文详解
2019/04/27 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
美国最大的城市服装和运动鞋零售商:Jimmy Jazz
2016/11/19 全球购物
马云的职业生涯规划之路
2014/01/01 职场文书
世界上超棒的8种逻辑思维
2019/08/06 职场文书
CSS3实现模糊背景的三种效果示例
2021/03/30 HTML / CSS
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL
《勇者辞职不干了》上卷BD发售宣传CM公开
2022/04/08 日漫