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 相关文章推荐
多重?l件?合查?(一)
Oct 09 PHP
在php MYSQL中插入当前时间
Apr 06 PHP
php引用地址改变变量值的问题
Mar 23 PHP
记录PHP错误日志 display_errors与log_errors的区别
Oct 09 PHP
destoon整合ucenter后注册页面不跳转的解决方法
Jun 21 PHP
php header函数的常用http头设置
Jun 25 PHP
CodeIgniter中使用Smarty3基本配置
Jun 29 PHP
PHP微信开发之文本自动回复
Jun 23 PHP
PHP新特性详解之命名空间、性状与生成器
Jul 18 PHP
PHP的mysqli_sqlstate()函数讲解
Jan 23 PHP
php实现的数组转xml案例分析
Sep 28 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
Aug 06 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
虫族 Zerg 魔法科技
2020/03/14 星际争霸
PHP批量检测并去除文件BOM头代码实例
2014/05/08 PHP
PHP使用DOM对XML解析处理操作示例
2019/07/04 PHP
Javascript中暂停功能的实现代码
2007/03/04 Javascript
javascript import css实例代码
2008/07/18 Javascript
HTML node相关的一些资料整理
2010/01/01 Javascript
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
js中获取事件对象的方法小结
2011/03/13 Javascript
AeroWindow 基于JQuery的弹出窗口插件
2011/06/27 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
JS对select控件option选项的增删改查示例代码
2013/10/21 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
jquery中ajax处理跨域的三大方式
2016/01/05 Javascript
使用JS代码实现点击按钮下载文件
2016/11/12 Javascript
微信小程序的日期选择器的实例详解
2017/09/29 Javascript
animate.css在vue项目中的使用教程
2018/08/05 Javascript
详解小程序云开发数据库
2019/05/20 Javascript
echarts多条折线图动态分层的实现方法
2019/05/24 Javascript
vue自定义组件实现双向绑定
2021/01/13 Vue.js
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
[01:05:24]Ti4 冒泡赛第二天 iG vs NEWBEE 3
2014/07/15 DOTA
Python时间模块datetime、time、calendar的使用方法
2016/01/13 Python
python获取代码运行时间的实例代码
2018/06/11 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
2019/07/06 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
sleep()方法和wait()方法的区别是什么
2012/11/17 面试题
淘宝网店营销策划书
2014/01/11 职场文书
《听鱼说话》教学反思
2014/02/15 职场文书
软件售后服务方案
2014/05/29 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书
您对思维方式了解多少?
2019/12/09 职场文书
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
2021/11/17 Servers
分布式Redis Cluster集群搭建与Redis基本用法
2022/02/24 Redis
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android