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

<?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));

?>

程序输出为:

bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

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

isset()

再看看isset的输出:

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

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-08-28 15:59:07

PHP empty()与isset()与is_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(

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)) {

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

PHP empty、isset、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&#160;empty、isset、isnull的区别&#160;

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 $a; $b = false; $c = ''; $d = 0; $e = null; $f = array(); ?> empty() 首先是empty的var_dump输出: <?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)); ?> 程序输

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

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