Disset()函数 一般用来检测变量是否设置 
bool isset ( mixed var [, mixed var [, ...]] ) 


功能:检测变量是否设置 


返回值: 


FALSE 


NULL,也返回 FALSE 


NULL,则返回 TURE 


TRUE,否则结果为 FALSE 


PHP 3, PHP 4, PHP 5 


更多说明: 


unset() 释放变量之后,它将不再是 isset()。 


函数isset()只能用于变量,传递任何其它参数都将造成解析错误。 


defined() 函数。 


的empty()函数 判断值为否为空 


bool empty ( mixed var ) 


功能:检查一个变量是否为空 


返回值: 


TRUE 


""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE 


""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE 


PHP 3, PHP 4, PHP 5 


更多说明: 


的返回值=!(boolean) var,但不会因为变量未定义而产生警告信息。参见转换为布尔值获取更多信息。 


只能用于变量,传递任何其它参数都将造成Paser error而终止运行。  


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'; 





?> 


注: 由于这是一个语言结构而非函数,因此它无法被变量函数调用。 


注: empty() 只检测变量,检测任何非变量的东西都将导致解析错误。换句话说,后边的语句将不会起作用: empty(addslashes($name))。 


php 编写页面程序时,经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再。 


empty() 判断一个变量是否为“空”,isset() 判断一个变量是否已经设置。正是这种所谓的“顾名思义”,令我

0时,empty()也会成立(True),因而会发生 一些意外。原来,empty() 和 isset() 虽然都是变量处理函数,它们都用来判断变量是否已经配置,它们却是有一定的区别:empty还会检测变量是否为空、为零。当一个变量值为0,empty() 认为这个变量同等于空,即相当于没有设置。 比如检测 $id 变量,当 $id=0 时,用empty() 和 isset() 来检测变量 $id 是否已经配置,两都将返回不同的值—— empty() 认为没有配置,isset() 能够取得 $id 的值: 


$id=0; 


empty($id)?"It's empty .":"print "It's $id ."; 


结果:It's empty . 


!isset($id)?print "It's empty .":print "It's $id ."; 


结果:It's 0 . 


0的值,使用 empty() 要小心,这个时候用 isset 取代它更明智一些。 


php页面的 URL 尾部参数出现 id=0 时(比如:test.php?id=0),试比较: 


若 id=0 ,id 也会为1 


若 id=0 ,id 不会为1 


可分开运行以下代码检测上述推断: 


if(empty($id)) $id=1; 


得到 1 


if(!isset($id)) $id=1; 


得到 0 


empty()和 isset()都是变量处理函数,作用是判断变量是否已经配置,正是由于它们在处理变量过程中有很大的相似性,才导致对它们的关系认识不足。单从 empty()和isset()这两个函数本身来考虑的话会把人弄得更糊涂,换一个角度来它。empty()和isset()的处理对象无外乎未定义变量,0,空字符串。 


0,则empty()会返回TRUE,isset()会返回TRUE;


empty()会返回TRUE,isset()会返回TRUE; 


empty()会返回TRUE,isset()会返回FLASE; 


empty()的解释如下: 


bool empty( mixed var ) 


var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

isset()的解释如下: 


检测变量是否设置 


bool isset ( mixed var [, mixed var [, ...]] ) 


var 存在则返回 TRUE,否则返回 FALSE。 


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


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


isset 函数 


empty 函数 


isset 函数 再用 empty 函数

最新文章

  1. logback logback.xml常用配置详解 &lt;filter&gt;
  2. Angular2 NgModule
  3. yii 的网址收藏
  4. 用refresh控制浏览器定时刷新
  5. TCP/IP简介
  6. openfire开发
  7. Android编程学习过程中遇到的错误以及解决办法
  8. #WEB安全基础 : HTTP协议 | 0x8 HTTP的Cookie技术
  9. BZOJ3881[Coci2015]Divljak——AC自动机+树状数组+LCA+dfs序+树链的并
  10. Windows Server 2012 R2 或 2016 无法安装 .NET Framework 3.5.1
  11. [性能优化] perf 高级用法:完整记录程序性能指标,并按照时间段对程序进行有针对性的性能分析
  12. 3. EM算法-高斯混合模型GMM
  13. about BFC
  14. ubuntu下安装pip install mysqlclient 报错 command &quot;python setup.py egg_info&quot; failed with error.....解决方案
  15. wap站、手机APP 接入支付宝、微信、银联支付。
  16. sqlite性能优化
  17. MySQL中触发器
  18. memcached整理の内存管理及删除机制
  19. 设置datalist指定行的背景色
  20. 在js中为对象添加和删除属性

热门文章

  1. URL重写是实现PHP伪静态
  2. .NET 中使用 HttpWebResponse 时 Cookie 的读取
  3. Oracle 10g轻量级客户端安装[转]
  4. vim的正则表达式(二)应用实例
  5. Linux下Ant的安装
  6. js 随手记
  7. Autofac创建实例的方法总结 【转】
  8. OC对象:封装、继承、多态的使用举例一
  9. ongl三种符号的使用
  10. OpenCV——写手势识别碰到的各种错误