限 时 特 惠: 本站每日持续稳定更新内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410

empty与isset用法与区别

empty()如果 var 是非空或非零的值, 则 empty() 返回 FALSE。换句话说, “”、0、”0″、NULL、FALSE、array()、var $var;

以及没有任何属性的对象都将被认为是空的, 如果 var 为空, 则返回 TRUE。

isset() 如果 var 存在则返回 TRUE, 否则返回 FALSE。

如果已经使用 unset() 释放了一个变量之后, 它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量empty()empty(),将返回 FALSE。

同时要注意的是一个 NULL 字节(””)并不等同于 PHP 的 NULL 常数。

简单分析的是isset判断这个变量存不存在, empty是判断是否是空值, 不存在一定是空, 但空不一定是不存在, 空包括, 各种类型的空, 空类型, 空字符串,

空对象, false, NULL, 空数组等.

empty() 判断一个变量是否为”空”, isset() 判断一个变量是否已经设置。正是这种所谓的”顾名思义”, 令我开始时走了些弯路:当一个变量值等于0时, empty()也会成立(true),

因而会发生一些意外。原来, empty() 和 isset() 虽然都是变量处理函数, 它们都用来判断变量是否已经配置, 它们却是有一定的区别:

empty还会检测变量是否为空、为零。当一个变量值为0, empty() 认为这个变量同等于空, 即相当于没有设置。

以下是两个函数的区别:

empty() true(真): “” 0 “0” null false array() 和没有赋值的变量$var (注意: ” ” empty()函数返回的是false, “0.00” 返回的是false);

isset() false(假): usset()释放的变量 null;

判断的值 isset() empty() if()

true true false true

false true true false

“” true true false

” ” true false true

0 true true false

empty()_empty翻译_empty怎么读

“0” true true false

null false true false

array() true true false

0.00 true false true

$a=0;

这个时候

empty($a) == true;

isset($a) == true;

$a=1;

这个时候

empty($a) == false;

isset($a) == true;

在没有定义$a的时候, isset($a) == true;

empty($a) == true;

其共同点就是empty()和isset()都是变量处理函数, 作用是判断变量是否已经配置, 正是由于它们在处理变量过程中有很大的相似性,

才导致对它们的关系认识不足。单从empty()和isset()这两个函数本身来考虑的话会把人弄得更糊涂, 换一个角度来它。

empty()和isset()的处理对象无外乎未定义变量, 0, 空字符串。

如果变量为0, 则empty()会返回TRUE, isset()会返回TRUE;

如果变量为空字符串, 则empty()会返回TRUE, isset()会返回TRUE;

如果变量未定义, 则empty()会返回TRUE, isset()会返回FLASE;

empty翻译_empty()_empty怎么读

<?php
/**
* isset — 检测变量是否设置
* 如果 变量 存在则返回 true, 否则返回 false
*
* empty — 检查一个变量是否为空
* 如果 变量 是非空或非零的值,则 empty() 返回 false
**/
$is_var = '';
if(isset($is_var)) {
echo "变量存在!
"; } else { echo "变量不存在!
"; } if(empty($is_var)) { echo "变量为空!
"; } else { echo "变量不为空!
"; } ?>

注意:empty() 只检测变量, 检测任何非变量的东西都将导致解析错误!


以下会出现错误

empty()和isset()作用在于:主要抑制访问变量或数组键值不存在时的注意错误, 与直接使用if()判断有所不同, if判断不存在的变量时, 会出现注意级别的错误。

"孙悟空", "two"=>"唐僧");
$task = !empty($arr['task']) ? $arr['task'] : "";
echo "测试数据:".$task;
?>

在PHP众多函数中, empty(), (), isset()三个函数的区别经常让很多不解, 下面用一张真值表讲解这三个函数的区别:

变量 empty 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=0 true false true

$a=”0″ true false true

$a=”true” false false true

$a=”false” false false true

注意:empty()与isset()在参数没有定义的情况下, 是不会有警告的

使用isset()和empty()与count()、()和()函数相比, isset()和empty()对于检测一个变量是否为空等场景更加简单和高效。

限 时 特 惠: 本站每日持续稳定更新内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410