php is null empty,一张表搞清楚php is_null、empty、isset的区别

一张表搞清楚php is_null、empty、isset的区别

isset 判断变量是否已存在

empty 判断变量是否为空或为0

is_null 判断变量是否为NULL

变量

empty

is_null

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

时间: 2015-07-04

有关 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

1.empty用法 bool empty ( mixed var) 如果 var 是非空或非零的值,则 empty() 返回 FALSE.换句话说,"".0."0".NULL.FALSE.array().var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE 2.isset() isset -- 检测变量是否设置 描述 bool isset ( mixed var [, mixed var [, ...]]) 如果 var

is_null, empty, isset, unset 我们先来看看这4个函数的描述. isset 判断变量是否已存在(配置)unset 把变量删除(释放)掉empty 判断变量是否为空is_null 判断变量是否为NULLok,已经开始搞人了.那么开始,这4个函数中除了unset,其他3个都是判断函数,unset首先出局,因为他不会搞错,其次是is_null,我们可以把它看成是!isset,是isset的一个逆操作,下面一张表可以很清楚的说明他们之间的关系: 复制代码 代码如下: 变量

代码如下: 复制代码 代码如下: <?php $a;$b = false;$c = '';$d = 0;$e = null;$f = array(); 首先是empty的var_dump输出:boolean trueboolean trueboolean trueboolean trueboolean trueboolean true 然后是is_null的输出:boolean trueboolean falseboolean falseboolean falseboolean trueboole

6b5aa0751a6f1e6a9d0b665a02cc1f46.gif

一.举例说明 A.一个变量没有定义,我们该怎么样去判断呢 复制代码 代码如下: <?php #不存在$test 变量 $isset= isset($test)?"test is define!":"test is undefine!"; echo "isset:$isset\r\n"; $empty=!empty($test)?"test is define!":"test is undefine!"

$a = '';echo '1.-----------'.($a == '').'
';echo '2.-----------'.($a == null).'
';echo '3.-----------'.($a == false).'
';echo '4.-----------'.($a == '0').'
';echo '5.-----------'.($a == 0).'
';$a = null;echo '6

做php开发时候,通常会用到empty,isset,is_null这几个函数,使用不当的话甚至给自己的程序带来一些安全隐患的bug.很多时候,对于isset,empty都认为差不多.因此开发时候,就没有注意,一段作为流程判断时候,就出现bug问题了.下面我们分别介绍一下这三个函数的区别和使用. empty 如果 变量 是非空或非零的值,则 empty() 返回 FALSE.换句话说,"".0."0″.NULL.FALSE.array().var $var.未定义;以及没有任何

ed0d1d860f21bf2810221aa4848b8342.png

废话不多说了,直接给大家贴代码了. <?php class test{} $a1 = null; $a2 = ""; //$a3 = $a4 = 0; $a5 = '0'; $a6 = false; $a7 = array(); //var $a8; $a9 = new test(); for ($i=1; $i <=9 ; $i++) { $s = 'a'.$i; echo $i . ":"; var_dump(isset($$s)); echo '&

66d2392b0d7608c1951a0ea273c8e416.png

近日被问到PHP中empty和isset函数时怎么判断变量的,刚开始我是一脸懵逼的,因为我自己也只是一知半解,为了弄懂其真正的原理,赶紧翻开源码研究研究.经过分析可发现两个函数调用的都是同一个函数,因此本文将对两个函数一起分析. 我在github有对PHP源码更详细的注解.感兴趣的可以围观一下,给个star.PHP5.4源码注解.可以通过commit记录查看已添加的注解. 函数使用格式 empty bool empty ( mixed $var ) 判断变量是否为空. isset bool is

最近我在一个项目中使用 empty 时获取到了一些意料之外的结果.下面是我处理后的调试记录,在这里与你分享了. var_dump( $person->firstName, empty($person->firstName) ); 它的结果是: string(5) "Freek" bool(true) 结果出人意料.为什么变量的值为字符串,但同时会是空值呢?让我们在 $person->firstName 变量上尝试使用其它一些函数来进行判断吧: var_dump( $p

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值