PHP手册中empty()和isset()的解释和区别

empty

(PHP 4, PHP 5)

empty 检查一个变量是否为空

说明

bool empty ( mixed $var )

如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""0"0"NULLFALSEarray()var $var;以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE

empty() isset()的一个简单比较。

<?php
$var
= 0;

// 结果为 true,因为 $var 为空
if (empty($var)) {
echo
'$var is either 0 or not set at all';
}

// 结果为 false,因为 $var 已设置
if (!isset($var)) {
echo
'$var is not set at all';
}
?>

isset

(PHP 4, PHP 5)

isset 检测变量是否设置

说明

bool isset ( mixed $var [, mixed $... ] )

检测变量是否设置,并且不是 NULL

如果已经使用 unset()释放了一个变量之后,它将不再是 isset()。若使用 isset()测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。

If multiple parameters are supplied then isset() will return TRUE only if all of the parameters are set. Evaluation goes from left to right and stops as soon as an unset variable is encountered.

参数

var

要检查的变量。

...

其他变量。

返回值

如果 var 存在并且值不是 NULL 则返回 TRUE,否则返回 FALSE

empty() isset()的一个简单比较。


<?php
$var
= 0;

// 结果为 true,因为 $var 为空
if (empty($var)) {
echo
'$var is either 0 or not set at all';
}

// 结果为 false,因为 $var 已设置
if (!isset($var)) {
echo
'$var is not set at all';
}
?>
<span style="color:#000000;"></span><div class="highlight"><pre><span class="cp"><?php</span>
<span class="nv">$a</span> <span class="o">=</span> <span class="m">0</span><span class="p">;</span>
<span class="k">if</span><span class="p">(</span><span class="nb">isset</span><span class="p">(</span><span class="nv">$a</span><span class="p">)){</span>
    <span class="k">echo</span> <span class="m">1111</span><span class="p">;</span>
<span class="p">}</span>
<span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="k">empty</span><span class="p">(</span><span class="nv">$a</span><span class="p">)){</span>
    <span class="k">echo</span> <span class="m">2222</span><span class="p">;</span>
<span class="p">}</span>
<span class="cp">?></span><span class="x"></span>
 
   
output
1111
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值