2016-07-29 8 views
0

私はこれを行う方法について考えてこだわっていますこれを解決して数式を取得し、クーポンを適用した後に合計金額を表示することはできません。例えば式割引2×1 3×2などPHP

:商品価格:同じように

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) 

の:$米ドルと私はクーポン2×1を持っています。商品価格:$ 5米ドル。今は3倍のクーポンを持っています。 PHPでクーポンを使用して合計金額を入手する方法

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) 



+0

は、商品の価格重要なのですか?あなたの例は、同じ価格を持つすべての商品を表示しています。 2つのアイテムを$ 5に、2つを$ 6に入れるとどうなりますか? – Gordon

+0

2の価格で6個の商品を販売するシステムを使用する必要があるお客様には申し訳ありませんが、3個の価格で5個です。 – hobbs

答えて

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); 
} 
+0

は完璧に機能します。どうもありがとうございました!!! – Nicomuniz

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; 

}

関連する問題