php错误的地方

时间:2012-02-24 21:06:38

标签: php

通常与false进行比较时,false位于右侧:

if(strpos($str, 'php') !== false) {
    // code
}

但我也注意到左侧各个地方false

if(false !== strpos($str, 'php')) {
    // code
}

据我了解,它们是相同的,为什么有些人将false放在左侧?它有什么特别的东西,我缺少的东西吗?

2 个答案:

答案 0 :(得分:4)

这是一些不专心的开发者发明的东西

“问题”

if ($var = false) { /* code */ }

解决方案

if (false = $var) { /* code */ }

后者将失败,因此开发人员发现,他错过了额外的=!,...这里

答案 1 :(得分:3)

关于 Yoda条件,请查看this article。重要的是,它可以帮助您避免一些不必要的和难以发现的错误,例如在比较=中忘记一个==并且意外地分配变量而不是将其与第二个值进行比较。

尤达经常重新安排句子的单词序列,从而得名。