【发布时间】:2020-01-10 06:52:16
【问题描述】:
如何在 PHP 中将以下长 if-else 条件转换为 switch case?或者,请提出除开关盒外的任何可行解决方案。
if($total_products >= 1 && $total_products <=10 ){
} elseif ($total_products >= 11 && $total_products <=25 ){
} elseif ($total_products >= 26 && $total_products <=40 ){
} elseif ($total_products >= 181 && $total_products <=200 ){
} elseif ($total_products >= 351 && $total_products <=400 ){
} elseif ($total_products >= 401 && $total_products <=500 ){
} elseif ($total_products > 500 ){
}
【问题讨论】:
-
这能回答你的问题吗? Conditional switch statements in PHP
-
多态性似乎是个好主意。您可以查看此链接refactoring.guru/replace-conditional-with-polymorphism
-
为什么?这有什么问题?
-
建议副本中的 switch 语句与您当前的代码相比并没有真正改进。如果您记得代码从上到下运行,您当前的代码可以简化一点,这意味着您可以拥有
if ($total_products <= 10) { ... } elseif ($total_products <= 25) { ... } ... etc...也就是说,您不需要在每个条件中指定范围,范围将是隐式的由于elseif的订购。 -
当 40
标签: php