寻找折扣

时间:2013-10-14 14:57:38

标签: php

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

这是我的结构:

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) {

请让我知道你们的想法。

2 个答案:

答案 0 :(得分:3)

您可以尝试以数组/ db表的形式存储配置:

lo_limit | hi_limit | discount

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

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

      break;
   }
}

答案 1 :(得分:0)

如果您使用固定值(例如您提供的值)

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

否则使用Baldrs解决方案