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 相关文章推荐
Breeze 文章管理系统 v1.0.0正式发布
Dec 14 PHP
discuz Passport 通行证 整合笔记
Jun 30 PHP
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
Jul 01 PHP
PHP中array_merge和array相加的区别分析
Jun 17 PHP
php使用websocket示例详解
Mar 12 PHP
php调用新浪短链接API的方法
Nov 08 PHP
PHP+jquery实时显示网站在线人数的方法
Jan 04 PHP
php字符串分割函数用法实例
Mar 17 PHP
php恢复数组的key为数字序列的方法
Apr 28 PHP
thinkPHP5.0框架事务处理操作简单示例
Sep 07 PHP
php基于 swoole 实现的异步处理任务功能示例
Aug 13 PHP
php项目中类的自动加载实例讲解
Sep 12 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
批量修改RAR文件注释的php代码
2010/11/20 PHP
php变量作用域的深入解析
2013/06/03 PHP
php对二维数组进行排序的简单实例
2013/12/19 PHP
Yii框架数据模型的验证规则rules()被执行的方法
2016/12/02 PHP
php 三大特点:封装,继承,多态
2017/02/19 PHP
PHP实现的解汉诺塔问题算法示例
2018/08/06 PHP
鼠标图片振动代码
2006/07/06 Javascript
用户注册常用javascript代码
2009/08/29 Javascript
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
2012/10/11 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
jquery如何根据值设置默认的选中项
2014/03/17 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
2015/04/27 Javascript
JavaScript中的cacheStorage使用详解
2015/07/29 Javascript
理解javascript中的严格模式
2016/02/01 Javascript
Bootstrap零基础入门教程(二)
2016/07/18 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
浅谈js多维数组和hash数组定义和使用
2016/07/27 Javascript
实现div内部滚动条滚动到底部和顶部的代码
2017/11/15 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
JS编写兼容IE6,7,8浏览器无缝自动轮播
2018/10/12 Javascript
js验证密码强度解析
2020/03/18 Javascript
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
跟老齐学Python之编写类之一创建实例
2014/10/11 Python
使用Mixin设计模式进行Python编程的方法讲解
2016/06/21 Python
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
python基于Selenium的web自动化框架
2019/07/14 Python
Django 实现xadmin后台菜单改为中文
2019/11/15 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
一些Unix笔试题和面试题
2012/09/25 面试题
求职推荐信
2013/10/28 职场文书
环保建议书
2014/03/12 职场文书
Python自动化工具之实现Excel转Markdown表格
2022/04/08 Python
MySQL 计算连续登录天数
2022/05/11 MySQL