哪个是更好的性能明智 - 如果(条件){结果} VS如果(条件)结果;

时间:2012-11-16 10:19:55

标签: php performance conditional curly-brackets

我知道在两种情况下性能差异都会非常小,但我想知道哪种是用PHP编写条件的更实用,性能更高的版本。

if(condition){
  result;
}

VS

if(condition)
  result;

6 个答案:

答案 0 :(得分:7)

两者完全相同,它的编码风格与性能无关。适应您喜欢的风格。

一些提示工具建议使用第一种方式来避免这样的错误:

if(condition)
  result;
  foo; // Nothing to do with the condition but you can get confused.

如果你使用花括号,那就不会发生这种情况:

if(condition){
    result;
}
    foo; // Nothing to do with the condition but now it's clear.

我不会在if中使用花括号来表示一个语句,因为这种情况对于非新手来说并不难避免。

答案 1 :(得分:3)

一行代码不需要大括号;但是对一行代码使用大括号也是一种很好的做法。两者都是一样的。

答案 2 :(得分:2)

没有理由甚至认为这种优化。无论您选择哪种方式(取决于您个人喜欢的风格),它们的表现都会完全相同。

答案 3 :(得分:2)

老实说,差异是微不足道的,如果有的话。如果没有其他原因,我会永远你{}。如果现在任何系统都会产生重大影响,我会感到惊讶。

答案 4 :(得分:0)

从结果和性能的角度来看它们是相同的,但是你使用

if(condition)
  result; 

只有你内部有一个陈述,如果你有更多的陈述使用括号

答案 5 :(得分:0)

如果expression的计算结果为TRUE,那么PHP将执行语句,如果计算结果为FALSE,它将忽略它。

如果$ a大于$ b,则以下示例将显示a大于b:

<?php
if ($a > $b)
  echo "a is bigger than b";
?>

通常,您希望有条件地执行多个语句。当然,没有必要用if子句包装每个语句。相反,您可以将多个语句分组到语句组中。例如,如果$ a大于$ b,则此代码将显示大于b的值,然后将$ a的值分配给$ b:

<?php
if ($a > $b) {
  echo "a is bigger than b";
  $b = $a;
}
?>

如果语句可以在其他if语句中无限嵌套,这为您提供了条件执行程序各个部分的完全灵活性。

供参考使用php.net