资讯专栏INFORMATION COLUMN

PHP中isset,empty,is_null用法和区别

fou7 / 571人阅读

摘要:用法如果是非空或非零的值,则返回。如果已经使用释放了一个变量之后,它将不再是。若使用测试一个被设置成的变量,将返回。同时要注意的是一个字节并不等同于的常数。

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 存在则返回 TRUE,否则返回 FALSE。
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("0")并不等同于 PHP 的 NULL 常数。
如果检查一个数组中是否存在某个key,当数组中存在这个key并且对于的value不为null时返回true

注意:如果变量不存在,isset()和empty()都不会报错;is_null(),is_numeric()会报错
用来判断常量会报错,比如:null,true,false,‘’,‘123adf’,123

如何区别如下数组中 [0,"",null] 三个元素?
(1)区别0:

$a = 0;
isset($a) && is_numeric($a) === true

(2)区别""

$a = "";
empty($a) && $a=== ""

(3)区别null

$a = null;
is_null($a);    
最好使用 === NULL 这样速度更快

另外在做表单提交的时候可能经常要检测一个变量是否存在,假如$_REQUEST["status"] = 0;
使用empty($_REQUEST["status"])返回true,但是使用isset($_REQUEST["status"]) 判断就不是空

(4)count();

echo count(123);    //1
echo count(null);    //0
echo count(false);    //1
echo count(true);    //1
echo count("adds");    //1
echo count(array());    //0
echo count(array(array()));    //1
count()判断对象返回也是1,判断数组是返回数组的元素个数

参考资料:http://www.laruence.com/2009/...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22365.html

相关文章

  • [PHP]一张图片彻底弄清isset empty函数区别!!!

    摘要:如果还有人问你两者区别,马上甩出这种图有兴趣可以往下阅读,官方手册给出的例子手册这是一张将区别的表格,从表格中我们可以发现返回值等同返回值等同。 简单谈一下isset和empty的区别? 如果你是在面试,碰巧面试官提了这个问题。你可以这样回答: 如果变量值为0、空字符串、空数组等等,empty认为它是空的,而isset认为它不是空的。 如果变量不存在,isset和empty都认为它是...

    venmos 评论0 收藏0
  • 为什么 php empty 函数判断结果为空,但实际值却为非空

    摘要:为什么变量的值为字符串,但同时会是空值呢让我们在变量上尝试使用其它一些函数来进行判断吧以上结果为译者注这边的结果可能存在问题的结果同样为,可以到这里去运行下查看结果。和函数执行结果符合预期判断,唯独函数返回了错误结果。 本文首发于 震惊 php empty 函数判断结果为空,但实际值却为非空,转载请注明出处。 最近我在一个项目中使用 empty 时获取到了一些意料之外的结果。下面是我处...

    jimhs 评论0 收藏0
  • [PHP源码阅读]emptyisset函数

    摘要:函数使用格式判断变量是否为空。对于,如果变量被如的函数设为,则函数会返回。,到分支,,返回数组元素的数量,为空,因此为,,,因此返回。 近日被问到PHP中empty和isset函数时怎么判断变量的,刚开始我是一脸懵逼的,因为我自己也只是一知半解,为了弄懂其真正的原理,赶紧翻开源码研究研究。经过分析可发现两个函数调用的都是同一个函数,因此本文将对两个函数一起分析。 我在github有对P...

    Pink 评论0 收藏0
  • PHP常用判断条件总结

    摘要:常用判断条件的种类变量例如比较运算符例如逻辑运算符例如具体类型判断例如等变量无论变量是什么类型,都会转成类型空字符串空数组都是数值字符串都是类型的都是类型有三种情况定义并赋值为定义不赋值不定义不存在的主要是用于判断类型的,其他类型无论什么值 常用判断条件的种类 变量 例如:$var isset() empty() 比较运算符 例如:> < == != === !== 逻辑运算符 例如...

    lyning 评论0 收藏0
  • PHP细节:foreach、(汉子)字符串反转、issetempty用法区别以及0、‘’、null

    摘要:规定要反转的字符串。参考文档实现字符串翻转包含中文汉字参考处理汉字官方文档函数最下面给出了支持的方案三用法区别以及之间关系用法如果是非空或非零的值,则返回。若想检测常量是否已设置,可使用函数。 一、foreach 第一题: //1.for循环执行几次 //for($i=0;$i=1;$i++){ // echo $i; //} $i==1条件很成立,死循环 for($i=0;$...

    孙淑建 评论0 收藏0

发表评论

0条评论

fou7

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<