empty() isset() isnull() 比较

有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚。这里再重复一次,但不是从概念去说,直接用程序例子来说话,应该记忆会比较深刻些。

测试的类型如下:

?


1

2

3

4

5

6

7

8

9

10

<?php

$a;

$b = false;

$c = ‘‘;

$d = 0;

$e = null;

$f = array();

?>

empty()

首先是empty的var_dump输出:

?


1

2

3

4

5

6

7

8

9

10

<?php

var_dump(empty($a));

var_dump(empty($b));

var_dump(empty($c));

var_dump(empty($d));

var_dump(empty($e));

var_dump(empty($f));

?>

程序输出为:

?


1

2

3

4

5

6

bool(true)

bool(true)

bool(true)

bool(true)

bool(true)

bool(true)

从代码中可以看出,只要数据类型是否为空或假,empty()就输出true。

isset()

再看看isset的输出:

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

var_dump(isset($a));

var_dump(isset($b));

var_dump(isset($c));

var_dump(isset($d));

var_dump(isset($e));

var_dump(isset($f));

// 输出

bool(false)

bool(true)

bool(true)

bool(true)

bool(false)

bool(true)

可以看出isset()只能用来判断是否为NULL和未定义。

is_null()

最后是is_null的输出:

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

var_dump(is_null($a));

var_dump(is_null($b));

var_dump(is_null($c));

var_dump(is_null($d));

var_dump(is_null($e));

var_dump(is_null($f));

// 输出

bool(true)

bool(false)

bool(false)

bool(false)

bool(true)

bool(false)

is_null 字面意思了。

由此可见 empty() 可以用来判定所有的数据类型是否为空或假,而 is_null 与 isset 基本一样,只能用来判断是否为NULL和未定义。

时间: 2024-12-23 09:01:38

empty() isset() isnull() 比较的相关文章

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

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

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

isset()、empty()、isnull()

empty 如果 变量 是非空或非零的值,则 empty() 返回 FALSE.换句话说,”".0.”0″.NULL.FALSE.array().var $var.未定义;以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE. isset 如果 变量 存在(非NULL)则返回 TRUE,否则返回 FALSE(包括未定义).变量值设置为:null,返回也是false;unset一个变量后,变量被取消了.注意,isset对于NULL值变量,特殊处理. is_null 检测传入

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

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_

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输出:

empty isset php

$a = false; $b = 0; $c = null; ==== empty yes $a = false; $b = 0; ==== isset yes $c = null; === isset NO

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