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 相关文章推荐
php5 non-thread-safe和thread-safe这两个版本的区别分析
Mar 13 PHP
mysql下创建字段并设置主键的php代码
May 16 PHP
用sql命令修改数据表中的一个字段为非空(not null)的语句
Jun 04 PHP
PHP中实现汉字转区位码应用源码实例解析
Jun 14 PHP
PHP用GD库生成高质量的缩略图片
Mar 09 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
Dec 02 PHP
PHP中读取照片exif信息的方法
Aug 20 PHP
php查询ip所在地的方法
Dec 05 PHP
thinkphp备份数据库的方法分享
Jan 04 PHP
php数据访问之增删改查操作
May 09 PHP
php+MySql实现登录系统与输出浏览者信息功能
Jul 01 PHP
php输出文字乱码的解决方法
Oct 04 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中文字符截取防乱码
2008/03/28 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
2014/07/22 PHP
Codeigniter(CI)框架分页函数及相关知识
2014/11/03 PHP
如何实现JS函数的重载
2006/09/22 Javascript
文档对象模型DOM通俗讲解
2013/11/01 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
在JavaScript中调用Java类和接口的方法
2016/09/07 Javascript
jQuery点击导航栏选中更换样式的实现代码
2017/01/23 Javascript
jquery横向纵向鼠标滚轮全屏切换
2017/02/27 Javascript
如何让你的JS代码更好看易读
2017/12/01 Javascript
完美解决iview 的select下拉框选项错位的问题
2018/03/02 Javascript
JS实现的简单下拉框联动功能示例
2018/05/11 Javascript
Angular5集成eventbus的示例代码
2018/07/19 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
2019/01/30 Javascript
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
浅谈对于react-thunk中间件的简单理解
2019/05/01 Javascript
新手快速入门JavaScript装饰者模式与AOP
2019/06/24 Javascript
js如何实现元素曝光上报
2019/08/07 Javascript
JavaScript实现网页下拉菜单效果
2020/11/20 Javascript
Python3操作SQL Server数据库(实例讲解)
2017/10/21 Python
python使用PyCharm进行远程开发和调试
2017/11/02 Python
对pandas的行列名更改与数据选择详解
2018/11/12 Python
对python中的控制条件、循环和跳出详解
2019/06/24 Python
wxpython布局的实现方法
2019/11/01 Python
Python CSV文件模块的使用案例分析
2019/12/21 Python
Pytorch之contiguous的用法
2019/12/31 Python
纯CSS3实现地球自转实现代码(图文教程附送源码)
2012/12/26 HTML / CSS
园艺师求职信
2014/03/10 职场文书
乡镇爱国卫生月活动总结
2014/06/25 职场文书
学生会任命书范本
2015/09/21 职场文书
2019年销售人员的职业生涯规划书
2019/03/25 职场文书
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫
在Python 中将类对象序列化为JSON
2022/04/06 Python