【问题标题】:Which is Better Performance Wise - if(condition){result} VS if(condition) result; [closed]哪个性能更好 - if(condition){result} VS if(condition) result; [关闭]
【发布时间】:2012-11-16 10:19:54
【问题描述】:

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

if(condition){
  result;
}

VS

if(condition)
  result;

【问题讨论】:

  • 完全一样,即使有任何差异,您认为它可以以某种方式衡量吗?
  • 性能没有区别...
  • 您是在谈论程序员和/或程序员团队的表现,还是只是简单的运行脚本的速度?
  • 如果有任何区别,那么你在写这个问题上所花费的时间比你一生中使用一个问题所获得的时间要多。
  • 对于亲近的选民不具建设性,为什么不具建设性?我可能重复了 10 多个问题,但具有建设性。

标签: php performance conditional curly-brackets


【解决方案1】:

两者完全相同,都是编码风格,与性能无关。更好地适应你喜欢的风格。

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

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 中的一个语句我没有使用花括号,因为对于非新手来说,避免这种情况并不难。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      老实说,如果有的话,差异将是微不足道的。如果除了格式化之外没有其他原因,我将永远是您{}。如果这些天任何系统会有显着差异,我会感到惊讶。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

          if(condition)
            result; 
          

          只有当你有一个声明里面,如果你有更多,你使用括号

          【讨论】:

            【解决方案6】:

            如果表达式的计算结果为 TRUE,PHP 将执行语句,如果计算结果为 FALSE - 它会忽略它。

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

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

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

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

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

            供参考使用php.net

            【讨论】:

              猜你喜欢
              • 2017-08-20
              • 2013-11-18
              • 1970-01-01
              • 2013-09-20
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多