0

我正在尝试创建一个检查,以显示您通过输入订单大小获得了多少折扣。

这是我的结构:

1-11 pcs    |    50% discount    |    21,69 euro/piece
12-23 pcs   |    52,5% discount  |    20,61 euro/piece

等等,直到600个...

最好的解决方案是什么?把所有东西都放在一个数组中并检查它?还是我只需要使用 if 语句,例如:

if($pieces > 0 && $pieces < 12) {

if($pieces > 11 && $pieces < 24) {

等等

请让我知道你们的想法。

4

2 回答 2

3

您可以尝试以数组/数据库表的形式存储配置,如下所示:

lo_limit | hi_limit | discount

然后在循环中检查它以找到一定数量的当前折扣:

foreach($rules as $rule) {
   if($pieces > $rule['lo_limit'] && $pieces < $rule['hi_limit']) {
      $discount = $rule['discount'];

      break;
   }
}
于 2013-10-14T15:04:51.267 回答
0

If you use fixed values (like the one you provide)

$ordered = 15;
$discount = round( ($ordered / 12), 0, PHP_ROUND_HALF_DOWN);
$discount = 50 + ($discount * 2.5);

else use Baldrs solution

于 2013-10-14T15:14:53.960 回答