【问题标题】:Variable before or after value in IF statementIF 语句中值之前或之后的变量
【发布时间】:2011-10-01 22:02:19
【问题描述】:

这两种说法有区别吗:

if ($a == 'hello') { ... }

if ('hello' == $a) { ... }

我注意到像 Wordpress 这样的应用程序倾向于使用后者,而我通常使用前者。

我似乎记得不久前读过一些文章,为后者提供了理由,但我不记得背后的原因。

【问题讨论】:

    标签: php if-statement operators


    【解决方案1】:

    没有区别。使用它是为了在您不小心进行分配而不是比较时引发错误:

    if('hello' = $a)
    

    if($a = 'hello') 将分配给变量并且不会引发错误。

    它也可以用来明确地表明如果您在if 语句中有一个赋值,您真的希望它在那里并且这不是一个错误(一致性)。

    【讨论】:

    • 这几乎总结了它,虽然我只想提一下,虽然使用这种风格可以防止错误,但它确实会使 if 子句有时更难阅读。
    • 感谢您的解释。顺便说一句,我讨厌那种“不自然”的风格。
    【解决方案2】:

    后者的理由是,如果您错误地输入 = 而不是 ==(赋值而不是比较),您将得到编译器错误(无法分配给常量)。

    【讨论】:

      猜你喜欢
      • 2022-11-14
      • 2018-01-26
      • 1970-01-01
      • 1970-01-01
      • 2017-12-09
      • 2016-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多