如何优化众多'否则如果'?

时间:2017-02-09 11:43:10

标签: php if-statement

用户需要检查特定范围内的成员资格,并根据此输出得出不同的结果。我用这个方法:

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

但它看起来不专业。我该如何优化此代码? /没有&#39;开关&#39; - 它差不多/

2 个答案:

答案 0 :(得分:2)

对我来说很好看:

  1. 这是可读的。

  2. 这不太可能是性能瓶颈。

  3. 不要过度思考这个问题。你可以将整个事物按到一个由范围键入的函数表中,但为什么要混淆那些清晰简单的函数呢?

    不要使用一系列三元条件运算符,因为由于某种原因,PHP民众决定摆弄该运算符cf的 associativity 。 C,C ++和Java。

答案 1 :(得分:1)

我猜这取决于每个if - else块内的逻辑。如果它只是返回,或者例如调用方法,则可以执行以下操作:

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

如果每个条件中的逻辑都是多个操作,你可以将它移动到一个函数,然后简单地调用相关函数。

老实说,你所拥有的一切都很好。只要它清洁可读。当它们变得更嵌套时,你应该开始担心清洁。