有人知道为什么一些开发人员(尤其是在Zend Framework 2的源代码中)在比较中把预期值写在实际值之前吗?
示例:
if (true === $actualValue) { ... }
而不是
if ($actualValue === true) { ... }
PSR编码标准中没有定义这种情况。
注意:c++也有类似的主题,但没有真正的有用答案。
您看到的是Yoda条件。没有标准来定义这些(至少据我所知)。它们只是一种保护自己免受常见编码错误(根据您的条件分配)影响的方法。
示例:
if( number = 4 ) // Works perfectly
if( 4 = number ) // Throws an exception