一些编码指南规定您应该在条件结束时放置您正在测试的变量:
// Incorrect
if($isSomething === FALSE) { // Do something }
// Correct
if(FALSE === $isSomething) { // Do something }
Run Code Online (Sandbox Code Playgroud)
我知道有些程序员习惯在这样的条件下使变量初始化:
if($results = $db->getResults() { // Do something if results exist }
Run Code Online (Sandbox Code Playgroud)
所以,我能想象到的具有这种反直觉的规则的唯一原因是为了防止错误reinitalisation万一你不小心只使用一个等号(=),而不是两个PHP.
还有其他原因吗?
在您想要比较的情况下,您不能意外地分配值.这使得查找小错误变得更加容易.
if (FALSE = $isSomething)会抛出一个错误,因为你无法重新分配常量,因为它们
if ($isSomething = FALSE)总会返回true,你可能很长时间都不会注意到这个错误.
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |