2015-01-08 20 views
1

購買5個產品的每個客戶,他們將獲得2個產品的獎勵。對於不同條件的結果,在If語句中的計數值

但是,每個購買10個產品的顧客,他們將獲得6個產品的獎金。

現在的問題是如果有客戶購買26種產品?

這樣的情況將是:

客戶購買

(10 x 2) //get 6 products x 2 = 12 products bonus/free 

    + 

(5 x 1) // get 2 products x 1 = 2 products bonus/free 

到目前爲止,這是我的情況:

if ($quatity > 4 && $quatity < 10){ 
    echo "Congrats, you get 2 products free" 
} 

if ($quatity > 9){ 
    echo "Congrats, you get 6 products free" 
} 

上面的代碼,如果只有客戶的工作我沒意見購買超過5或10種產品。

但正如我上面提到的那樣,如果客戶購買超過10種產品(如26種產品或200種產品)會怎樣?我應該寫,如果手動功能,如if ($quatity > 9){}if ($quatity > 19){}if ($quatity > 29){}if ($quatity > 39){},等等,

OR

有誰能夠找出這個簡單的方法?

在此先感謝!

+0

用戶的表單在哪裏?並在處理用戶動作時添加更多部分代碼 –

+0

理論上,如果($ quatity> 4 && $ quatity <10)'這隻會匹配,如果它大於4且小於10,它不會檢查它是否相等等於或小於/大於。所以你需要做'如果($ quatity> = 4 && $ quatity <= 10)' - 這是一個當然的旁註,它會告訴你如何去做。 –

+0

@ Fred-ii感謝您美麗的旁註。我會編輯它。 :) – alisa

回答

2

此代碼會給你你想要的。

它會分解10個產品獎金,然後看看是否還有5個獎金給予。

$tenBonus = (int)($quatity/10); 
$fiveBonus = $quatity % 10 > 4 ? 1 : 0; 
$bonus = ($tenBonus * 5) + ($fiveBonus * 2); 
if($bonus > 0) { 
    echo "Congrats, you get ". $bonus ." products free"; 
} 
+0

非常感謝!這給了我需要的東西。 – alisa

+0

但是我需要在迴應之前做出if語句。如何做到這一點:'if($ bonus){echo「恭喜,你會得到」。 $獎勵。「產品免費」;}'??只是爲了檢查是否有獎金。提前致謝。 – alisa

+0

我做了一個編輯,應該給你你想要的。 – Meneses