empty 和 isset的区别和联系

empty 和 isset的区别和联系

要说它们的联系,其共同点就是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"、NULLFALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE
手册中对isset()的解释如下:
isset()检测变量是否设置
描述bool isset ( mixed var [, mixed var [, ...]] )
如果 var 存在则返回 TRUE,否则返回 FALSE
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。
警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined()函数。
当要 判断一个变量是否已经声明的时候 可以使用 isset 函数
当要 判断一个变量是否已经赋予数据且不为空 可以用 empty 函数
当要 判断 一个变量 存在且不为空 先isset 函数 再用 empty 函数

时间: 2024-11-06 03:50:57

empty 和 isset的区别和联系的相关文章

php empty()和isset()的区别

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

php学习之道:php empty()和isset()的区别

在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再. 顾名思义,empty() 判断一个变量是否为"空",isset() 判断一个变量是否已经设置.正是这种所谓的"顾名思义",令我开始时走了些弯路:当一个变量值等于0时,empty()也会成立(True),因而会发生一些意外.原来,empty() 和 isset(

一张表搞清楚php is_null、empty、isset的区别

isset 判断变量是否已存在 empty 判断变量是否为空或为0 is_null 判断变量是否为NULL 变量 empty is_null isset $a="" true false true $a=null true true false var $a true true false $a=array() true false true $a=false true false true $a=15 false false true $a=1 false false true $a

一张表搞清楚 php 的 is_null、empty、isset的区别

isset 判断变量是否已存在 empty 判断变量是否为空或为0 is_null 判断变量是否为NULL 变量 empty is_null isset $a="" true false true $a=null true true false var $a true true false $a=array() true false true $a=false true false true $a=15 false false true $a=1 false false true $a

2016/05/25 empty() 与 isset()的区别

对于初学php的人来说,empty()和和isset()用法的区别是很难搞清楚的,他们的用法的差别不仔细去琢磨的话确实很难弄清楚. 先说一下他们的共同点: 都可以判定一个变量是否为空: 都返回boolean类型,即true或false. 下面具体说一下他们用法之间的区别: isset()用来检测变量是否设置,只能用于变量,因为传递任何其它参数都将造成解析错误.若想检测常量是否已设置,可使用 defined() 函数.如果已经使用 unset() 释放了一个变量之后,它将不再是 isset().若

php中empty,is_null,isset的区别详解

PHP中有很多功能类似的函数,却有着细微的差别,正如本篇文章所有分析的 is_null,empty,isset 三个函数,不费一番功夫,还真不容易真正的搞懂额!下面跟随站长来具体的了解一下这三个函数的区别吧! 我们先来看看这3个函数的功能描述 isset 判断变量是否已存在,如果变量存在则返回 TRUE,否则返回 FALSE. empty 判断变量是否为空,如果变量是非空 或非零 的值,则 empty() 返回 FALSE.换句话说,"" .0 ."0" .NULL

PHP中empty()和isset()的区别

1.empty函数 用途:检测变量是否为空 判断:如果 var 是非空或非零的值,则 empty() 返回 FALSE.换句话说,"".0."0".NULL.FALSE.array().var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE.来源手册:http://php.net/manual/zh/function.empty.php 注意:empty() 只检测变量,检测任何非变量的东西都将导致解析错误. $name=0

PHP中empty、isset和is_null的使用区别

关于PHP中empty().isset() 和 is_null() 这三个函数的区别,之前记得专门总结过,上次又被问到,网上已经很多,就用几个例子来说明: 测试用例选取: <?php $a;$b = false;$c = '';$d = 0;$e = null;$f = array(); ?> 用var_dump()分别输出如下: empty() bool(true)bool(true)bool(true)bool(true)bool(true)bool(true) isset() bool(

PHP is_null,empty以及isset,unset的区别

1.empty 判断一个变量是否为"空".null.false.00.0.'0′.』.为以上值的变量在检测時都将返回true. 2.isset 判断一个变量是否已经设置.0.00.'0′.』.' '.false.'false'.'null'都返回true.只有值为null的变量才返回true 3.if 判断式 0.00.0.0.'0′.』.false.null返回false'00′.'0.0′.'null'.'false'.' '返回true is_null, empty, isset