PHP中isset()和unset()函数的用法小结


Posted in PHP onMarch 11, 2014

isset
(PHP 3, PHP 4, PHP 5 )

isset -- 检测变量是否设置

描述
bool isset ( mixed var [, mixed var [, ...]])
如果 var 存在则返回 TRUE,否则返回 FALSE。

如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。

警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。

<?php
$var = '';
// 结果为 TRUE,所以后边的文本将被打印出来。
if (isset($var)) {
     print "This var is set set so I will print.";
}
// 在后边的例子中,我们将使用 var_dump 输出 isset() 的返回值。
$a = "test";
$b = "anothertest";
var_dump( isset($a) );      // TRUE
var_dump( isset ($a, $b) ); // TRUE
unset ($a);
var_dump( isset ($a) );     // FALSE
var_dump( isset ($a, $b) ); // FALSE
$foo = NULL;
var_dump( isset ($foo) );   // FALSE
?>

这对于数组中的元素也同样有效:
<?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函数isset()可以帮助我们是检测变量是否设置。若果变量不存在则返回 FALSE,而如果变量存在且值不为NULL,则返回 TURE。

通过对PHP语言的学习,应该知道它是基于函数的一款HTML脚本语言。庞大的函数库支持着PHP语言功能的实现。下面我们为大家介绍有关PHP函数isset()的相关用法。

格式:bool isset ( mixed var [, mixed var [, ...]] )

功能:检测变量是否设置

返回值:

若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE

同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE

版本:PHP 3, PHP 4, PHP 5

更多说明:

使用 unset() 释放变量之后,它将不再是 isset()。
PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。
检测常量是否已设置可使用 defined() 函数。

unset()

销毁指定的变量。注意在 PHP 3 中,unset() 将返回 TRUE(实际上是整型值 1),而在 PHP 4 中,unset() 不再是一个真正的函数:它现在是一个语句。这样就没有了返回值,试图获取 unset() 的返回值将导致解析错误。

PHP 相关文章推荐
一个简洁的多级别论坛
Oct 09 PHP
ThinkPHP调用百度翻译类实现在线翻译
Jun 26 PHP
PHP和Mysql中转UTF8编码问题汇总
Oct 10 PHP
php5.3后静态绑定用法详解
Nov 11 PHP
PHP foreach遍历多维数组实现方式
Nov 16 PHP
yii2局部关闭(开启)csrf的验证的实例代码
Jul 10 PHP
php中青蛙跳台阶的问题解决方法
Oct 14 PHP
浅析PHP7的多进程及实例源码
Apr 14 PHP
Laravel如何同时连接多个数据库详解
Aug 13 PHP
PHP 文件上传限制问题
Sep 01 PHP
PHP设计模式概论【概念、分类、原则等】
May 01 PHP
一文看懂PHP进程管理器php-fpm
Jun 01 PHP
PHP调用JAVA的WebService简单实例
Mar 11 #PHP
php的webservice的wsdl的XML无法显示问题的解决方法
Mar 11 #PHP
Yii操作数据库的3种方法
Mar 11 #PHP
php导出excel格式数据问题
Mar 11 #PHP
PHP中对于浮点型的数据需要用不同的方法解决
Mar 11 #PHP
php设置允许大文件上传示例代码
Mar 10 #PHP
php如何解决无法上传大于8M的文件问题
Mar 10 #PHP
You might like
PHP在Web开发领域的优势
2006/10/09 PHP
php批量缩放图片的代码[ini参数控制]
2011/02/11 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
配置php网页显示各种语法错误
2013/09/23 PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
2014/08/18 PHP
浅析php静态方法与非静态方法的用法区别
2016/05/17 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
javascript写的日历类(基于pj)
2010/12/28 Javascript
当滚动条滚动到页面底部自动加载增加内容的js代码
2014/05/13 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
2014/06/20 Javascript
学习JavaScript设计模式(策略模式)
2015/11/26 Javascript
vue中改变选中当前项的显示隐藏或者状态的实现方法
2018/02/08 Javascript
vue+axios实现post文件下载
2019/09/25 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
vue实现数字滚动效果
2020/06/29 Javascript
python使用Turtle库绘制动态钟表
2018/11/19 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
python利用JMeter测试Tornado的多线程
2020/01/12 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
Python将字典转换为XML的方法
2020/08/01 Python
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
2012/12/13 HTML / CSS
SCHIESSER荷兰官方网站:德国内衣专家
2020/10/09 全球购物
JSF的标签库有哪些
2012/04/27 面试题
大学生实习思想汇报
2014/01/12 职场文书
幼儿教师培训感言
2014/03/08 职场文书
红色故事演讲稿
2014/05/22 职场文书
2014最新实习证明模板
2014/10/02 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
《金钱的魔力》教学反思
2016/02/20 职场文书
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
Java基础-封装和继承
2021/07/02 Java/Android
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android
Java Redisson多策略注解限流
2022/09/23 Java/Android
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS