我正在阅读一段代码并看到代码的作者使用以下if语句
if ( 'string' == $var )
我总是使用
if ( $var == 'string' )
我想知道的是除了风格/外观之外还有其他任何功能。将$ var与'字符串进行比较'比字符串更快/更慢'到$ var?
答案 0 :(得分:2)
Why if( constant == variable ) is preferred instead of if ( variable == constant )
以下是您的问题的答案。 如果您错过了等号,这有助于调试。
用Hanky웃Panky的话来评论:因为这种形式使得通过忘记错误来引入错误变得更加困难 平等的迹象。想象一下,如果你这样做:
if(k = 5)这是作为比较,但它现在是一个 分配!更糟糕的是,这是合法的,它会搞砸你的 以多种方式编程(k的值改变了,而且 条件总是计算为真)。
将此与
对比if(5 = k)这是不合法的(你不能分配给文字)所以 编译器会立即将其标记为错误。
它们都是等价的,但'字符串' == $ var是一种更好的方法 因为如果你错过了一个等号,它有助于调试。