通常与false
进行比较时,false
位于右侧:
if(strpos($str, 'php') !== false) {
// code
}
但我也注意到左侧各个地方false
:
if(false !== strpos($str, 'php')) {
// code
}
据我了解,它们是相同的,为什么有些人将false
放在左侧?它有什么特别的东西,我缺少的东西吗?
答案 0 :(得分:4)
这是一些不专心的开发者发明的东西
“问题”
if ($var = false) { /* code */ }
解决方案
if (false = $var) { /* code */ }
后者将失败,因此开发人员发现,他错过了额外的=
,!
,...这里
答案 1 :(得分:3)
关于 Yoda条件,请查看this article。重要的是,它可以帮助您避免一些不必要的和难以发现的错误,例如在比较=
中忘记一个==
并且意外地分配变量而不是将其与第二个值进行比较。