php中empty()、isset()、is_null()和变量本身的布尔判断区别

<?php
//预定义变量数组:空字符,字符0,数组0,null,布尔false,空数组
$arr_var = array(‘‘, ‘0‘, 0, null, false, array());

foreach ($arr_var as $value) {
echo ‘<br>传入值为:‘ . $value . ‘<br>‘;
if (!isset($value)) {
echo ‘isset()==false<br>‘;
}
if (empty($value)) {
echo ‘empty()==true<br>‘;
}
if (!$value) {
echo ‘self==false<br>‘;
}
if (is_null($value)) {
echo ‘is_null()==true<br>‘;
}
}
?>
输出结果:

传入值为:
empty()==true
self==false

传入值为:0
empty()==true
self==false

传入值为:0
empty()==true
self==false

传入值为:
isset()==false
empty()==true
self==false
is_null()==true

传入值为:
empty()==true
self==false

传入值为:Array
empty()==true
self==false

时间: 2024-11-05 16:58:15

php中empty()、isset()、is_null()和变量本身的布尔判断区别的相关文章

php empty,isset,is_null判断比较(差异与异同)

php empty,isset,is_null判断比较(差异与异同) 作者: 字体:[增加 减小] 类型:转载 做php开发时候,想必在使用:empty,isset,is_null 这几个函数时候,遇到一些问题.甚至给自己的程序带来一些安全隐患的bug.很多时候,对于isset,empty都认为差不多.因此开发时候,就没有注意,一段作为流程判断时候,就出现bug问题了. 一.举例说明 A.一个变量没有定义,我们该怎么样去判断呢 复制代码代码如下: <?php #不存在$test 变量 $isse

PHP:empty,isset,is_null,array(0),array(),array(&quot;&quot;),0,&quot;0&quot;,&quot;&quot;,&quot;null&quot;,NULL的总结

通过下面这个程序来检测 $a=0; if(empty($a)){ echo "yes|"; }else{ echo "no|"; } if(isset($a)){ echo "yes|"; }else{ echo "no|"; } if(is_null($a)){ echo "yes|"; }else{ echo "no|"; } if($a){ echo "yes|"

php empty isset is_null

总是忘记这些变量的区别,参考下http://www.jb51.net/article/38020.htm,记录下 设置几个变量 <?php $a; $b = false; $c = ''; $d = 0; $e = null; $f = array(); ?> 首先是empty的var_dump输出: <?php var_dump(empty($a)); var_dump(empty($b)); var_dump(empty($c)); var_dump(empty($d)); var_

isset、empty和is_null

转载自http://www.cnblogs.com/chengmo/archive/2010/10/18/1854258.html php empty,isset,is_null比较(差异与异同) 做php开发时候,想必在使用:empty,isset,is_null  这几个函数时候,遇到一些问题.甚至给自己的程序带来一些安全隐患的bug.很多时候,对于isset,empty都认为差不多.因此开发时候,就没有注意,一段作为流程判断时候,就出现bug问题了. 一.举例说明 A.一个变量没有定义,我

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

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

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(

isset()、empty()、is_NULL()的区别

1,当变量未定义时,is_null()和“参数本身”是不允许作为参数判断的,会报Notice警告错误: 2,empty,isset首先都会检查变量是否存在,然后对变量值进行检测.而is_null 和 “参数本身”只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误! 3,if(empty($a))和if(!$a)效果基本一样的,"".0."0".NULL.FALSE.array(),未定义,均返回true: 4,isset():仅当null和未定义,返

isset和empty以及is_null区别

2.empty,isset首先都会检查变量是否存在,然后对变量值进行检测.而is_null 和 “参数本身”只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误! 3.isset():仅当null和未定义,返回false: 4.empty():"".0."0".NULL.FALSE.array(),未定义,均返回true: 5.is_null():仅判断是否为null,未定义 报警告: 6.变量本身作为参数,与empty()一致,但接受未定义变量时,报

php中的isset和empty的区别与认识

for example: $tmp = ''; isset($tmp); => true empty($tmp);   =>     true 未赋值的$test isset($test); => false empty($test);   => true isset指的是是否给变量赋值,即使赋值为空,也为他申请了一块内存空间,判断的标准为是否申请一块内存空间 empty指的是判断里面的值,如为空,或者未赋值,则为true,否则为false php中的isset和empty的区别与