2

以下两种情况哪个更优化?

if ($var == 'value') {} 

if ('value' == $var) {}

抱歉,如果这与另一个问题重复,但我无法通过谷歌搜索答案。

谢谢

[更新]

这称为尤达条件,更多信息在这里

4

4 回答 4

7

没有实际的区别。第二个用于保护自己免受拼写错误if ($var = 'value')但不是真正可读的。主要使用第一个,除非你太累了以至于在打字时会错过字符。

如果你写代码

if ($var = 'val') echo $var; //Output will be "val"

但如果你这样做

if ('val' = $var) echo $var;

你会得到语法错误。

于 2012-09-24T07:36:33.440 回答
3

'value' == $var称为尤达条件。而且一般不使用,因为它的可读性较差。

在性能方面,我不确定,但我猜你的解释器会生成完全相同的操作码。

于 2012-09-24T07:35:38.427 回答
1

最常用的一个是$var=="value",如果你想优化它而不是==使用===

于 2012-09-24T07:37:47.697 回答
0

我建议使用

$var == 'value'

增加可读性的表格。我认为两者之间没有真正的性能差距,php.net 没有任何信息(或者我找不到它)。

于 2012-09-24T07:37:33.877 回答