公式折扣2x1 3x2等PHP

时间:2016-07-29 05:25:44

标签: php formula shopping-cart discount coupon

我一直想着如何做到这一点: 我有一个购物车,我想创建一个2x1,3x2,5x3折扣等优惠券系统。

但我无法解决这个问题,以便在申请优惠券后获得公式并显示总价格。

例如:商品价格:$ 5 usd我有优惠券2x1:

If I buy 2 items: TOTAL: $5,00 usd (2x1)
If I buy 3 items: TOTAL: $10,00 usd (2x1 + 1)
If I buy 4 items: TOTAL: $10,00 usd (2x1 + 2x1)

以同样的方式。项目价格:5美元。现在我有一张优惠券3x1。

If I buy 2 items: TOTAL: $10,00 usd (3x1 NOPE!)
If I buy 3 items: TOTAL: $5,00 usd (3x1)
If I buy 4 items: TOTAL: $10,00 usd (3x1 + 1)
If I buy 5 items: TOTAL: $15,00 usd (3x1 + 2)
If I buy 6 items: TOTAL: $10,00 usd (3x1 + 3x1)
If I buy 7 items: TOTAL: $15,00 usd (3x1 + 3x1 + 1)



如何使用PHP中的优惠券获得总价?

2 个答案:

答案 0 :(得分:0)

尚未测试,但此功能应该有效:

function discount($i_boughtitems,$i_necessaryitems,$i_discountitems,$i_priceofitem){
$i_priceofcart = 0;

while($i_boughtitems => $i_necessaryitems){
    $i_priceofcart = $i_priceofcart+($i_priceofitem *$i_necessaryitems);
    $i_boughtitems = $i_boughtitems - $i_necessaryitems;
}
$i_priceofcart =  $i_priceofitem * $i_boughtitems;
return $i_priceofcart;

}

答案 1 :(得分:0)

另一种解决方案:

function calc($item_count, $unit_price, $coupon)
{
  list($need, $paid) = explode('x', $coupon);
  $left = $item_count % $need;
  return $unit_price * (intval($item_count / $need) * $paid + $left);
}