我正在尝试创建一个支票,通过输入订单大小来显示您获得多少折扣。
这是我的结构:
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) {
等
请让我知道你们的想法。
答案 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解决方案