0

我经常发现自己在做这样的事情:

    $add_class = '';
    if($class){
      $add_class = " abc ";
    } 

像这样写是不是更好:

    if($class){
      $add_class = " abc ";
    } else {
      $add_class = '';
    }
4

3 回答 3

2

考虑到如果你不定义 PHP 会抛出一个错误add_class,你可能应该使用前者。

在性能方面(甚至处理器都不会关心):

//.000010013580322266 ms
$class = 1;
$add_class = '';
if($class){
  $add_class = " abc ";
}

//.000010013580322266 ms
$class = 1;
if($class){
  $add_class = " abc ";
} else {
  $add_class = '';
}

还有第三种选择,使用三元运算符(成本稍高):

//.000010967254638672 ms
$class = 1;
$add_class = $class ? 'abc' : '';
于 2013-03-08T03:22:23.690 回答
0

不,这不是更好。

您以前的方法更加干净,更安全,不会犯未来的错误。

例如:你忘记只使用一个 else 并且你决定只使用 else 如果在某个地方,当你需要这个变量时你的代码会崩溃。

于 2013-03-08T03:14:33.267 回答
0

两者的区别是显而易见的,但并不显着......在这种情况下,首先分配变量只会在 $class 变量更可能为真时效率较低。

于 2013-03-08T03:27:23.347 回答