为什么布尔评估在以下PHP代码中反向完成,而不是在结尾处放置“false”?
while (false !== ($obj = readdir($dh))) {
// do something
}
(来自http://php.net/manual/en/function.unlink.php中的一个用户示例)
我已经看到了在其他地方编写评估的方式,但从未真正理解为什么要这样做。我从未学过计算机科学,所以这可能是一个真正的问题。
答案 0 :(得分:7)
个人偏好,因此您不会错误地分配值而不是进行比较。
例如
// doesn't generate an error, hard to track
if($value = false)
...
但
// fatal error, you know that you did = instead of ==
if(false = $value)