首页 > php教程 > 正文

《PHP技术大全·第一卷》isset,empty,is_null细致解读

转载 2019-03-14 0 8

原标题:《PHP技术大全·第一卷》isset,empty,is_null细致解读

本文系猿哥《PHP技术大全·第一卷》的系列原创文章。

  • isset

  1. <?php

  2. //1.一个未赋值的变量

  3. var_dump(isset($user));//bool(false)

  4. var_dump($user);//报错:PHP Notice: Undefined variable: user

  5. //2.一个值为null的变量

  6. $name =null;

  7. var_dump(isset($name));//bool(false)

  8. var_dump($name);//NULL

  9. //3.一个被unset掉的变量

  10. $object =newstdClass();

  11. unset($object);

  12. var_dump(isset($object));//bool(false)

  13. var_dump($object);//NULL

  14. //4.一个被赋值没有返回值的变量

  15. functionphpgod()

  16. {

  17. $str="PHP技术大全";

  18. }

  19. $wechat =phpgod();

  20. var_dump(isset($wechat));//bool(false)

  21. var_dump($wechat);//NULL

  22. //5.删掉变量全局引用

  23. $book ="PHP技术大全";

  24. unset($GLOBALS["book"]);

  25. var_dump(isset($book));//bool(false)

  26. var_dump($book);//NULL

  • empty

  1. <?php

  2. /*跟isset的联系在于,凡事isset判断结果为false的empty的判断总为true,

  3. 它俩的区别在于isset判断结果为true的empty判定未必为false

  4. */

  5. var_dump(empty(""));//bool(true);

  6. var_dump(empty(false));//bool(true);

  7. var_dump(empty(0));//bool(true);

  8. var_dump(empty(0x0));//16进制:bool(true);

  9. var_dump(empty(00));//8进制:bool(true);

  10. var_dump(empty(0.0));//浮点数:bool(true);

  11. //注意:这是最容易错的地方,根本不按常理出牌

  12. var_dump(empty("0"));//bool(true)

  13. var_dump(empty([]));//bool(true)

  14. var_dump(empty("000"));//bool(false)

  15. var_dump(empty("false"));//bool(false)

  16. var_dump(empty("null"));//bool(false)

  17. var_dump(empty(" "));//bool(false)

  • is_null

  1. <?php

  2. /*is_null函数跟isset和empty的一个重要区别:

  3. 判断一个未声明的变量时is_null会报错,但后面2位不会。

  4. 其它情况,可以把`is_null($a)`等价理解为`$a === null`,注意是`===`

  5. */

  • cheatsheet(备忘清单,怕你不明白这个单词的意思)

笔者祭出官方的类型比较表(官方的比较全面,笔者也不重复造轮子) PHP 类型比较表

  • best practice(最佳实践)

能用 ===操作符进行比较的地方尽量用,这样写出来的代码会被你自己强制性地写得很严谨。

原文链接:https://gitee.com/nodestudy/phpgod/blob/master/zh/02.1.md

未经许可,禁止转载!

相关文章


  • 北邮在线PHP学员感言:良师指路 前途无量
  • 培养自己的php编码规范,养成一个好习惯
  • 3篇优秀的PHP开发工程师面试自我介绍范文
  • PHP查询MySQL大量数据的内存占用分析
  • PHP好学吗?要学多久?上海兄弟连教育
  • 如何在短时间内学好PHP?广州兄弟连教育
  • PHP 编程中 10 个最常见的错误
  • PHP记录用户通过搜索引擎进网站的关键词