以下两种情况哪个更优化?
if ($var == 'value') {}
和
if ('value' == $var) {}
抱歉,如果这与另一个问题重复,但我无法通过谷歌搜索答案。
谢谢
[更新]
这称为尤达条件,更多信息在这里。
没有实际的区别。第二个用于保护自己免受拼写错误if ($var = 'value')
但不是真正可读的。主要使用第一个,除非你太累了以至于在打字时会错过字符。
如果你写代码
if ($var = 'val') echo $var; //Output will be "val"
但如果你这样做
if ('val' = $var) echo $var;
你会得到语法错误。
'value' == $var
称为尤达条件。而且一般不使用,因为它的可读性较差。
在性能方面,我不确定,但我猜你的解释器会生成完全相同的操作码。
最常用的一个是$var=="value"
,如果你想优化它而不是==
使用===
我建议使用
$var == 'value'
增加可读性的表格。我认为两者之间没有真正的性能差距,php.net 没有任何信息(或者我找不到它)。