在比较运算符之前放置boolean或null的原因是什么?

时间:2012-10-17 17:11:34

标签: php

在PHP中,在相同的比较运算符之前放置boolean或null的根本原因是什么?

false === $value;   
null === $value;

在我看来,它与说法相同

$value === false;

这只是个人偏好还是有人为什么这样做的具体原因?

3 个答案:

答案 0 :(得分:12)

避免意外分配变量的错误是一种约定。

$value = false;

而不是

$value === false;

答案 1 :(得分:4)

这有时被称为 Yoda-conditions ,有一个有趣的list of all such constructs及其非官方名称。

没有$var === falsefalse === $var之间没有真正的区别,有些人声称如果bool是左操作数,则更容易看到正在检查的内容,其他人讨厌它......简而言之:个人喜好就是这样。

答案 2 :(得分:-1)

它本来应该更快,但我无法通过一个简单的谷歌搜索来说明一个权威。参见:

http://forums.phpfreaks.com/topic/222939-is-there-a-difference-between-ifvar-false-and-iffalse-var/

一个意见。