变量:覆盖vs if/else

Chr*_*ott 8 php if-statement

这是一个PHP问题,但可能适用于其他语言.

哪种方法可以更好地处理变量赋值?

// Use default value and overwrite
$var_one = 'x';
if ($var_two) {
    $var_one = 'y';
}

// Use complete if/else
if ($var_two) {
    $var_one = 'y';
} else {
    $var_one = 'x';
}
Run Code Online (Sandbox Code Playgroud)

我一直很好奇软件如何在最低级别工作.

Maj*_*asi 7

我会使用第一个,因为它将删除一个进程.它比第二个更干净:

$var_one = 'x';
if ($var_two)
     $var_one = 'y';
Run Code Online (Sandbox Code Playgroud)

要么

$var_one = ($var_two ? 'y' : 'x'); 
Run Code Online (Sandbox Code Playgroud)

上面的代码比我的#1例子更清晰.

  • 第一个如何删除进程?在性能方面,第二个删除了一个过程,因为第一个过程有一个额外的步骤. (2认同)