用户需要检查特定范围内的成员资格,并根据此输出得出不同的结果。我用这个方法:
if($var < 1000) {
do one
}
else if ($var < 2000) {
do two
}
else if ($var < 3000) {
do three
}
....
但它看起来不专业。我该如何优化此代码? /没有&#39;开关&#39; - 它差不多/
答案 0 :(得分:2)
对我来说很好看:
这是可读的。
这不太可能是性能瓶颈。
不要过度思考这个问题。你可以将整个事物按到一个由范围键入的函数表中,但为什么要混淆那些清晰简单的函数呢?
不要使用一系列三元条件运算符,因为由于某种原因,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;
如果每个条件中的逻辑都是多个操作,你可以将它移动到一个函数,然后简单地调用相关函数。
老实说,你所拥有的一切都很好。只要它清洁可读。当它们变得更嵌套时,你应该开始担心清洁。