一些编码指南规定您应该将您正在测试的变量放在条件的末尾:
// Incorrect
if($isSomething === FALSE) { // Do something }
// Correct
if(FALSE === $isSomething) { // Do something }
我知道有些程序员有在这样的情况下初始化变量的坏习惯:
if($results = $db->getResults() { // Do something if results exist }
因此,我可以想象拥有这个违反直觉的规则的唯一原因是防止错误的重新初始化,以防您不小心在 PHP 中只使用了一个等号 (=) 而不是两个等号。
还有其他原因吗?