首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP:比较中运算符的顺序为null

PHP:比较中运算符的顺序为null
EN

Stack Overflow用户
提问于 2010-10-25 21:51:28
回答 6查看 621关注 0票数 9

我通常这样写:

代码语言:javascript
复制
if ($myvar == null)

但有时我会读到这样的内容:

代码语言:javascript
复制
if (null == $myvar)

我记得有人告诉我后者更好,但我不记得为什么。

你知道哪一个更好吗?为什么?

谢谢,丹

EN

回答 6

Stack Overflow用户

发布于 2010-10-25 21:53:15

如果你不小心忘记了其中一个=,第二个将会给出一个错误。

代码语言:javascript
复制
if ($myvar = null)

这会将null分配给$myvar,并对结果执行if检查。

代码语言:javascript
复制
if (null = $myvar)

这将尝试将$myvar的值赋给null并给出一个错误,因为您不能将其赋给null

票数 11
EN

Stack Overflow用户

发布于 2010-10-25 21:53:30

这不是顺序的问题,它是为了避免意外地跳过一个=,这将导致赋值而不是比较。当使用常量优先约定时,意外跳过将抛出错误。

票数 1
EN

Stack Overflow用户

发布于 2010-10-25 21:57:46

这个人可能提到的是关于条件语句的微优化。例如,在下面的代码中,第二个条件不会被视为第一个条件已经失败。

代码语言:javascript
复制
if (1 == 0 && 1 == 1)

但是,您所拥有的总是会被评估。因此,顺序并不重要,前面已经提到的约定就是我们要走的路。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4015211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档