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常用代码
Nov 23 PHP
PHP编码规范之注释和文件结构说明
Jul 09 PHP
PHP strncasecmp字符串比较的小技巧
Jan 04 PHP
PHP数据库链接类(PDO+Access)实例分享
Dec 05 PHP
thinkphp3查询mssql数据库乱码解决方法分享
Feb 11 PHP
PHP使用CURL_MULTI实现多线程采集的例子
Jul 29 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
PHP中开启gzip压缩的2种方法
Jan 31 PHP
php递归创建目录的方法
Feb 02 PHP
PHP开发制作一个简单的活动日程表Calendar
Jun 20 PHP
PHP三种方式实现链式操作详解
Jan 21 PHP
php实现微信和支付宝支付的示例代码
Aug 11 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
Extended CHM PHP 语法手册之 DIY
2006/10/09 PHP
多php服务器实现多session并发运行
2006/10/09 PHP
php daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
PHP7常量数组用法分析
2016/09/26 PHP
JavaScript实际应用:innerHTMl和确认提示的使用
2006/06/22 Javascript
js下将字符串当函数执行的方法
2011/07/13 Javascript
从阶乘函数对比Javascript和C#的异同
2012/05/31 Javascript
JavaScript极简入门教程(三):数组
2014/10/25 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)
2015/12/31 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
详解如何较好的使用js
2016/12/16 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
2017/02/05 Javascript
js实现网页定位导航功能
2017/03/07 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
2017/07/31 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
2017/09/26 jQuery
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
使用validate.js实现表单数据提交前的验证方法
2018/09/04 Javascript
Vue项目报错:Uncaught SyntaxError: Unexpected token
2018/11/10 Javascript
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
[01:08]DOTA2次级职业联赛 - Wings 战队宣传片
2014/12/01 DOTA
Python的Django框架中的表单处理示例
2015/07/17 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
python 实现敏感词过滤的方法
2019/01/21 Python
如何在Django项目中引入静态文件
2019/07/26 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
Python实现FTP文件定时自动下载的步骤
2020/12/19 Python
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书