可能的重复项:
PHP 错误位置在条件中
我注意到很多PHP代码使用条件语句,如CONST ==VARIABLE。我从小就被语法反转表达。这种结构有什么原因吗?
例:
// this is the way I see it most typically represented in PHP
if ( false == $foobar ) { // do this }
// this is the way I normally do it
if ( $foobar == false ) { // do this }
这是
为了防止==
和=
之间的常见拼写错误,称为尤达病症。请考虑以下事项:
if( false = $foobar) {
这将导致错误,捕获被视为错误的内容,因为您无法将任何内容分配给false
。相反:
if( $foobar = false) {
这是有效的语法,很容易犯错误。
但是,我通常更喜欢if( $foobar == false)
语法,因为单元测试应该能够捕获这些编程错误。
你通常这样做的方式正是大多数程序员的做法。第一个例子称为尤达条件:
http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html
而且不是常态。