有时我会迷失方向,试图弄清楚在给定情况下要使用哪种比较操作。isset()仅适用于未初始化或显式为null的值。传递/分配空值是确保逻辑比较按预期工作的好方法。

不过,仍然很难考虑,因此这里有一个简单的矩阵,用于比较不同操作将如何评估不同的值:

|           | ===null | is_null | isset | empty | if/else | ternary | count>0 |

| -----     | -----   | -----   | ----- | ----- | -----   | -----   | -----   |

| $a;       | true    | true    |       | true  |         |         |         |

| null      | true    | true    |       | true  |         |         |         |

| []        |         |         | true  | true  |         |         |         |

| 0         |         |         | true  | true  |         |         | true    |

| ""        |         |         | true  | true  |         |         | true    |

| 1         |         |         | true  |       | true    | true    | true    |

| -1        |         |         | true  |       | true    | true    | true    |

| " "       |         |         | true  |       | true    | true    | true    |

| "str"     |         |         | true  |       | true    | true    | true    |

| [0,1]     |         |         | true  |       | true    | true    | true    |

| new Class |         |         | true  |       | true    | true    | true    |

为了适合桌子,我稍微压缩了标签:

$a; 引用已声明但未分配的变量

第一列中的所有其他内容均指分配的值,例如:

$a = null;

$a = [];

$a = 0;

这些列指的是比较操作,例如:

$a === null

isset($a)

empty($a)

$a ? true : false

所有结果均为布尔值,true已打印且false被省略。

您可以自己运行测试,请检查以下要点:https :

//gist.github.com/mfdj/8165967

php里isset的属性,测试PHP中变量是否存在的最佳方法;isset()显然已损坏相关推荐

  1. asp.net中此页的状态信息无效,可能已损坏的解决之道

    asp.net中此页的状态信息无效,可能已损坏的解决之道[转] 默认分类 2009-02-06 16:16:06 阅读137 评论0 字号:大中小 针对此问题网上有一种解决办法,就是在该工程中的web ...

  2. react中绑定点击事件_在React中绑定事件处理程序的最佳方法

    react中绑定点击事件 by Charlee Li 通过李李 在React中绑定事件处理程序的最佳方法 (The best way to bind event handlers in React) ...

  3. [转] SQL Server中变量的声明和使用方法

    原文地址 SQL Server中变量的声明和使用方法 声明局部变量语法: DECLARE @variable_name DataType 其中 variable_name为局部变量的名称,DataTy ...

  4. php 从数组里删除元素,PHP从数组中删除元素的四种方法实例

    PHP从数组中删除元素的四种方法实例 一.总结 一句话总结:unset(),array_splice(),array_diff(),array_diff_key() 二.PHP从数组中删除元素的四种方 ...

  5. python删除字符串中重复字符_从Python中删除字符串标点符号的最佳方法

    似乎有一个比以下更简单的方法: 1 2 3import string s ="string. With. Punctuation?" # Sample string out = s ...

  6. Django 模板中 变量 过滤器 标签 的使用方法

    一.变量 1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量.     2.使用dot(.)能够访问变量的属性     3.当模板引擎碰到dot的时候,查 ...

  7. 在jQuery中删除事件处理程序的最佳方法?

    我有一个input type="image" . 这就像Microsoft Excel中的单元格注释一样. 如果有人在与该input-image配对的文本框中input-image ...

  8. java 求导函数_在MATLAB中计算数值导数的最佳方法是什么?

    这些只是一些快速而肮脏的建议 . 希望有人会发现它们有用! 1. Do you have a symbolic function or a set of points? 如果您有符号功能,您可以分析计 ...

  9. jsx怎么往js里传参数_在vue中使用jsx语法的使用方法

    什么是JSX? JSX就是Javascript和XML结合的一种格式.React发明了JSX,利用HTML语法来创建虚拟DOM.当遇到 我为什么要在vue中用JSX? 想折腾一下呗,开玩笑.最开始是因 ...

最新文章

  1. Spring Boot不允许加载iframe问题解决
  2. oracle经常使用函数(1)
  3. 探秘Tomcat——一个简易的Servlet容器
  4. 2021年下半年软考报考流程!
  5. Windows服务器上Mysql为设置允许远程连接提示:not allowed to connect to this MySQL server
  6. hdu 4547(LCA+Tarjan)
  7. Kettle使用_19 HTTP Client与XML JavaSript解析
  8. java中 下列不合法的语句_在Java中,下列( )是不合法的赋值语句。_学小易找答案...
  9. 在屏幕上打印杨辉三角
  10. 今晚直播丨Oracle数据库之Object的Access方法和结合方法
  11. 网络中的“大禹”—防水墙是怎么工作的?
  12. 激活MyEclipse 无法运行cracker2018.jar
  13. 订单管理系统(OMS)搭建实战 - 低代码拖拽定制订单管理系统
  14. 八卦与六十卦unicode符号python打印
  15. 聚类算法:K-means算法
  16. 群发邮件 (20 分)
  17. java支付宝网站支付
  18. 小米电视盒子怎样看电视直播?图文教程手把手装应用
  19. 浅浅讲解下Linux内存管理之CMA
  20. 【uni-app】只支持在微信小程序运行的 导入外部3d模型

热门文章

  1. 3个技巧让你正能量满满
  2. (转) 基于MapReduce的ItemBase推荐算法的共现矩阵实现(一)
  3. Eclipse快捷键一览
  4. HTML5将终结浏览器与应用程序间的争论
  5. Leetcode--695. 岛屿的最大面积
  6. Leetcode--213. 打家劫舍Ⅱ
  7. linux 查看vnc端口_VNC常用操作及常见问题解决办法汇总
  8. hbase集群 数据写入_Hbase实用技巧:全量+增量数据的迁移方法
  9. 检查用户名是否存在的servlet代码怎么写_Servlet详解!!!
  10. oracle 内存分析工具,IDE 中的分析工具