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 读取shell管道传输过来的内容
Mar 01 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
May 17 PHP
php shell超强免杀、减少体积工具实现代码
Oct 16 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
Jun 03 PHP
php 读取文件头判断文件类型的实现代码
Aug 05 PHP
PHP $_FILES中error返回值详解
Jan 30 PHP
php伪静态之APACHE篇
Jun 02 PHP
php无限分类使用concat如何实现
Nov 05 PHP
php、java、android、ios通用的3des方法(推荐)
Sep 09 PHP
php使用PDO获取结果集的方法
Feb 16 PHP
YII框架模块化处理操作示例
Apr 26 PHP
Laravel 在views中加载公共页面的实现代码
Oct 22 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 文件上传系统手记
2009/10/26 PHP
并发下常见的加锁及锁的PHP具体实现代码
2010/10/12 PHP
php学习笔记 数组遍历实现代码
2011/06/09 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
[对联广告] JS脚本类
2006/08/27 Javascript
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
url 编码 js url传参中文乱码解决方案
2010/04/11 Javascript
最短的IE判断代码
2011/03/13 Javascript
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
jQuery中[attribute=value]选择器用法实例
2014/12/31 Javascript
jQuery热气球动画半透明背景的后台登录界面代码分享
2015/08/28 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
vue+swiper实现侧滑菜单效果
2017/12/28 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
JS实现li标签的删除
2019/04/12 Javascript
layui将table转化表单显示的方法(即table.render转为表单展示)
2019/09/24 Javascript
[02:13] 完美世界DOTA2联赛PWL DAY5集锦
2020/11/03 DOTA
Python中处理字符串的相关的len()方法的使用简介
2015/05/19 Python
python for循环remove同一个list过程解析
2019/08/14 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
2020/01/15 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
canvas 基础之图像处理的使用
2020/04/10 HTML / CSS
在html页面中取得session中的值的方法
2020/08/11 HTML / CSS
Android笔试题总结
2014/11/29 面试题
环境保护建议书
2014/08/26 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
写给医护人员的一封感谢信
2019/09/16 职场文书
python绘制箱型图
2021/04/27 Python
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis
详解Go语言运用广度优先搜索走迷宫
2021/06/23 Python
Spring中的@Transactional的工作原理
2022/06/05 Java/Android