-1

我有两个在 Google 上找不到的快速问题。

该运算符的正确名称是什么?

$a = ($b > 5) ? 'High' : 'Low';

其次,是否存在比任何其他运营商更可取的情况?我知道“if else”是一种更快的方法,并且更易于阅读和编辑。

谢谢!

4

2 回答 2

3

它被称为三元运算符

这个做了一些基准测试,答案是视情况而定。

引用此文档:

// snippet 1
$tmp = isset($context['test']) ? $context['test'] : '';

// snippet 2
if (isset($context['test'])) {
    $tmp = $context['test'];
} else {
    $tmp = '';
}

正确答案是:视情况而定。大多数时候,它们的速度差不多,你不需要关心。但是如果 $context['test'] 包含大量数据,片段 2 比片段 1 快得多。

于 2013-07-05T19:46:38.700 回答
0

它被称为三元运算符。

它用于使您的代码更简单,并且有时可以帮助您将两个语句组合成一个语句。

这是一个例子。代替:

if($Disabled) $String = 'disabled'; else $String = '';
echo '<input type="text" ' . $String . '>';

您可以使用:

echo '<input type="text" ' . $Disabled ? 'disabled' : '' . '>';

我没有故意简化上面的代码,以清楚地表明我的观点。这样你只有一个语句,避免了额外的 if / else。在某些情况下,它可能会对您有所帮助。在其他情况下,您将看不到任何好处。

于 2013-07-05T19:44:41.347 回答