2017-02-09 11 views
0

特定の範囲内のメンバーシップをチェックする必要があるユーザーからのデータがあり、この出力に応じて別の結果があります。私はこの方法を使用します:数多くの 'else if'を最適化する方法は?

if($var < 1000) { 
    do one 
} 
else if ($var < 2000) { 
    do two 
} 
else if ($var < 3000) { 
    do three 
} 
.... 

しかしそれは専門家に見えます。このコードをどのように最適化できますか? /スイッチなし - ほとんど同じです/

+0

*しかし、プロフェッショナルではないように見えます。なぜそう思うのですか? – RomanPerekhrest

+0

では、三項演算子を使用できます。あなたが持っている文の数によっては、読めなくなるかもしれません。ここには[ブログの投稿](https://davidwalsh.name/php-shorthand-if-else-ternary-operators) –

+0

ブロックの中で実際に何を食べているのですか? – C2486

答えて

1

私はそれが各if - elseブロック内のロジックに依存すると思います。ちょうどあなたが次のことを行うことができ、返却、または例えばメソッドを呼び出している場合:

if ($var < 1000) return 1; 
if ($var < 2000) return 2; 
if ($var < 3000) return 3; 

各条件内部のロジックが複数の操作の場合は、機能とシンプルなコールにreleventそれを移動することができます関数。

正直言って、あなたが持っているものは大丈夫です。それがきれいで読みやすい限り。彼らはより多くの入れ子になったときだけ、清潔さについて心配する必要があります。

2

は、私には罰金見える:

  1. それは読みやすいです。

  2. パフォーマンスのボトルネックになる可能性は低いです。

これ以上考えないでください。あなたはおそらく範囲でキーを付けられた機能のテーブルにすべてをマッサージすることができますが、なぜ明確かつ単純なものを難読化するのでしょうか?何らかの理由で、PHPのフォークは、そのオペレータを参照のアソシエと周りいじることにしました、以来

は三項条件演算子のチェーンを使用しないでください。 C、C++、およびJavaが含まれます。

関連する問題