'串' == $ var或$ var ==' string'差?

时间:2015-05-04 11:21:37

标签: php syntax

我正在阅读一段代码并看到代码的作者使用以下if语句

if ( 'string' == $var )

我总是使用

if ( $var == 'string' )

我想知道的是除了风格/外观之外还有其他任何功能。将$ var与'字符串进行比较'比字符串更快/更慢'到$ var?

1 个答案:

答案 0 :(得分:2)

Why if( constant == variable ) is preferred instead of if ( variable == constant )

以下是您的问题的答案。 如果您错过了等号,这有助于调试。

  

因为这种形式使得通过忘记错误来引入错误变得更加困难   平等的迹象。想象一下,如果你这样做:

     

if(k = 5)这是作为比较,但它现在是一个   分配!更糟糕的是,这是合法的,它会搞砸你的   以多种方式编程(k的值改变了,而且   条件总是计算为真)。

     

将此与

对比      

if(5 = k)这是不合法的(你不能分配给文字)所以   编译器会立即将其标记为错误。

用Hanky웃Panky的话来评论:

  

它们都是等价的,但'字符串' == $ var是一种更好的方法   因为如果你错过了一个等号,它有助于调试。