0

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

if(condition){
  result;
}

VS

if(condition)
  result;
4

6 回答 6

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.

顺便说一句,我没有对 in 中的一个语句使用大括号if,因为对于非新手来说,避免这种情况并不难。

于 2012-11-16T10:22:14.373 回答
4

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

于 2012-11-16T10:22:38.880 回答
3

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

于 2012-11-16T10:22:57.727 回答
2

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

于 2012-11-16T10:21:46.853 回答
0

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

if(condition)
  result; 

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

于 2012-11-16T10:23:59.913 回答
0

如果表达式的值为 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

于 2012-11-16T10:35:18.437 回答