$ a == 2和2 == $ a之间有什么区别?

时间:2015-04-28 04:19:49

标签: php

在PHP中,

如果我想写变量$ a与值2的比较?那么哪种方式可行,何时使用第一种和第二种解决方案?

解决方案:

  1. $一个== 2

  2. 2 == $ A

  3. 我的采访中有人问过这个问题。

4 个答案:

答案 0 :(得分:2)

第一个示例2位于RHS上,第二个示例2位于LHS上,存在巨大差异。等等没关系吗?不,它没有任何区别:)

有些人会说使用2==$a,如果你陷入困境并忘记一个= PHP会抱怨,但这也无关紧要。陷入困境是一团糟,无论如何都需要解决。如果这一点非常重要,那么每个人都会使用这种风格,但这只是个人偏好的问题。

答案 1 :(得分:2)

这两种形式是相同的。使用2==$a的原因更多地与您无意中输入2=$a时发生的情况有关。

如果您使用$a == 2进行了比较,但$a = 2是一项始终会返回真值的作业。

但是,如果您使用2==$a犯了相同的错误,则会获得2=$a,并且您无法为文字指定值。 PHP会抱怨并且会有一个bug被困。

用法是一种风格问题。有些地方坚持,很多人都不在乎。

答案 2 :(得分:1)

功能相同。但是,有些人喜欢写2 == $a,因为$a == 2如果删除等号,可能会成为一个严重的(和常见的)错误:$a = 2意味着一些非常不同的东西。使用2 == $a执行此操作,您会收到语法错误(2 = $a无意义),这是一个清晰的信号,您搞砸了。

答案 3 :(得分:-2)

这两个表达的区别在于 1. $a==2检查变量' a'等于数字整数2,即RHS和 2. 2==$a检查整数2是否等于变量' a'即LHS