在PHP中比较可变位置

时间:2012-09-24 07:32:54

标签: php

在下面的2个案例中哪个更优化了?

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

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

很抱歉,如果这与其他问题重复,但我无法谷歌答案。

由于

[UPDATE]

这称为Yoda条件,更多信息here

4 个答案:

答案 0 :(得分:4)

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

如果您编写代码

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

但如果你这样做

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

你会遇到语法错误。

答案 1 :(得分:3)

'value' == $var被称为yoda条件。并且通常不使用,因为它不太可读。

在性能问题上,我不确定,但我猜您的解释器会生成完全相同的操作码。

答案 2 :(得分:1)

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

答案 3 :(得分:0)

我建议使用

$var == 'value'

提高可读性的形式。我不认为这两者之间存在真正的性能差距,php.net上没有任何信息(或者我找不到它)。