在下面的2个案例中哪个更优化了?
if ($var == 'value') {}
和
if ('value' == $var) {}
很抱歉,如果这与其他问题重复,但我无法谷歌答案。
由于
[UPDATE]
这称为Yoda条件,更多信息here。
答案 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上没有任何信息(或者我找不到它)。