4

どのフォームが効率的か

これです:

switch($var) {
  case 1:

    break;
  case 2:

    break;
}

..またはこれ:

if( $var === 1 ) {

} elseif( $var === 2 ) {

}

パフォーマンスの面で?

4

3 に答える 3

23

パフォーマンスの側面はまったく無関係です。

PHPBenchが示すように、1,000 回の操作があっても、両者の差は約 188 マイクロ秒、つまり1 億 8800万分の 1 秒です。通常、PHP コードにははるかに大きなボトルネックがあります。1 回のデータベース呼び出しには、多くの場合、数十ミリ秒かかります。これは、数万倍にもなります。

好きな方を使用し、コードの可読性に優れている方を使用します。多くのチェックでは、おそらくswitch.

于 2013-04-09T13:27:40.460 に答える
2

そのようなマイクロスケールでのパフォーマンスはまったく問題ではありません。コンテキストにより適したものを使用してください。可読性と保守性は、パフォーマンスよりもはるかに重要です。

于 2013-04-09T13:27:33.977 に答える
1

それはパフォーマンスではなく、要件です!!

場合によっては、if 条件で何かを実行したい場合があります。

比較する値がたくさんある場合は、スイッチを使用できます

于 2013-04-09T13:27:10.213 に答える