empty、isset、is_null的比较

直接上代码

<?php
$a=0;
$b=‘0‘;
$c=0.0;
$d=‘‘;
$e=NULL;
$f=array();
$g=‘\0‘;
$h=‘ ‘;//space
$i=true;
$j=false;
$k;// a variable declared, but without a value

$_arr=get_defined_vars();
array_splice($_arr,0,7);  

foreach($_arr as $k=>$v){
    var_dump(!is_null($v));
    var_dump(!empty($v));
    var_dump(isset($v));
    echo ‘<br/>‘;
}

//END

结果

boolean true
boolean false
boolean true

boolean true
boolean false
boolean true

boolean true
boolean false
boolean true

boolean true
boolean false
boolean true

boolean false
boolean false
boolean false

boolean true
boolean false
boolean true

boolean true
boolean true
boolean true

boolean true
boolean true
boolean true

boolean true
boolean true
boolean true

boolean true
boolean false
boolean true

总结:

1、is_null 和 isset基本一样

2、empty() is the opposite of (boolean) var, except that no warning is generated when the variable is not set.(手册上说的)

3、$k没有获取到,那肯定is_null了

时间: 2024-08-12 07:22:01

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

总是忘记这些变量的区别,参考下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_

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|"

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.一个变量没有定义,我

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和未定义,返

php的is_null+empty+isset+unset

empty,isset首先都会检查变量是否存在,然后对变量值进行检测.而is_null 只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误! 以后: 检测一个变量是否是null 用:is_null,但如果变量未定义用它检测会出错.//判断null用is_null(),如果变量未定义,则报错 检测变量是否定义可以用:isset  ,但是如果一个变量值是:null, 则它会返回false . //判断变量是否定义,用isset,如果变量值是null则返回false empty 与 i

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 empty(),isset()与is_null()的实例测试

有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚.这里再重复一次,但不是从概念去说,直接用程序例子来说话,应该记忆会比较深刻些.永盈会娱乐城 测试的类型如下: view source print? 01 <?php 02   03 $a; 04 $b = false; 05 $c = ''; 06 $d = 0; 07 $e = null; 08 $f = array(); 09   10 ?> emp

PHP empty(),isset()与is_null()的实例测试(转载)

有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚.这里再重复一次,但不是从概念去说,直接用程序例子来说话,应该记忆会比较深刻些. 测试的类型如下: <?php $a; $b = false; $c = ''; $d = 0; $e = null; $f = array(); ?> empty() 首先是empty的var_dump输出: var_dump(empty($a)); var_dump(emp

empty(),isset()与is_null()的实例测试

有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚.这里再重复一次,但不是从概念去说,直接用程序例子来说话,应该记忆会比较深刻些. 测试的类型如下: 01 <?php 02   03 $a; 04 $b = false; 05 $c = ''; 06 $d = 0; 07 $e = null; 08 $f = array(); 09   10 ?> empty() 首先是empty的var_dump输出: