-1

Google で見つけられない簡単な質問が 2 つあります。

このオペレーターの正しい名前は?

$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

三項演算子といいます。

コードを単純にするために使用され、2 つのステートメントを 1 つに結合するのに役立つ場合があります。

ここに例があります。それ以外の:

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

以下を使用できます。

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

要点を明確に示すために、上記のコードは意図的に簡略化していません。このようにして、余分な if / else を避けて、ステートメントを 1 つだけ持つことができます。状況によっては、それが役立つ場合があります。他のものでは、何のメリットもありません。

于 2013-07-05T19:44:41.347 に答える