公式折扣 2x1 3x2 等 PHP
formula discount 2x1 3x2 etc PHP
我一直在思考如何做到这一点:
我有一个购物车,我想创建一个有 2x1、3x2、5x3 折扣等的优惠券系统
但是我无法解决这个问题,获取公式并在使用优惠券后显示总价。
例如:商品价格:5 美元,我有一张 2x1 优惠券:
If I buy 2 items: TOTAL: ,00 usd (2x1)
If I buy 3 items: TOTAL: ,00 usd (2x1 + 1)
If I buy 4 items: TOTAL: ,00 usd (2x1 + 2x1)
同理。商品价格:5 美元。现在我有一张 3x1 的优惠券。
If I buy 2 items: TOTAL: ,00 usd (3x1 NOPE!)
If I buy 3 items: TOTAL: ,00 usd (3x1)
If I buy 4 items: TOTAL: ,00 usd (3x1 + 1)
If I buy 5 items: TOTAL: ,00 usd (3x1 + 2)
If I buy 6 items: TOTAL: ,00 usd (3x1 + 3x1)
If I buy 7 items: TOTAL: ,00 usd (3x1 + 3x1 + 1)
PHP如何使用优惠券获取总价?
尚未测试,但此功能应该有效:
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;
}
另一个解决方案:
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);
}
我一直在思考如何做到这一点: 我有一个购物车,我想创建一个有 2x1、3x2、5x3 折扣等的优惠券系统
但是我无法解决这个问题,获取公式并在使用优惠券后显示总价。
例如:商品价格:5 美元,我有一张 2x1 优惠券:
If I buy 2 items: TOTAL: ,00 usd (2x1)
If I buy 3 items: TOTAL: ,00 usd (2x1 + 1)
If I buy 4 items: TOTAL: ,00 usd (2x1 + 2x1)
同理。商品价格:5 美元。现在我有一张 3x1 的优惠券。
If I buy 2 items: TOTAL: ,00 usd (3x1 NOPE!)
If I buy 3 items: TOTAL: ,00 usd (3x1)
If I buy 4 items: TOTAL: ,00 usd (3x1 + 1)
If I buy 5 items: TOTAL: ,00 usd (3x1 + 2)
If I buy 6 items: TOTAL: ,00 usd (3x1 + 3x1)
If I buy 7 items: TOTAL: ,00 usd (3x1 + 3x1 + 1)
PHP如何使用优惠券获取总价?
尚未测试,但此功能应该有效:
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;
}
另一个解决方案:
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);
}