2016-07-29 6 views
0

나는이 작업을 수행하는 방법에 대한 붙어 생각을 해요 : 등 나는 쇼핑 카트를 가지고 있고이 2 × 1, 3 × 2, 5x3 할인과 쿠폰 시스템을 만들려면,공식 할인 된 2 × 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) 

: $ (5) 미화 나는 쿠폰 × 1 있습니다. 품목 가격 : $ 5 usd. 이제 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에서 쿠폰을 사용하여 총 가격을 구하는?

+0

은 품목 가격 중요한가? 귀하의 예는 동일한 가격을 가진 모든 항목을 보여줍니다. 두 항목을 $ 5에, 두 항목을 $ 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; 

}