针对不同条件的结果计算 If 语句中的值

count value in If statement for different condition's result

每位购买5件产品的客户,将获得2件产品的奖励。

但是,每购买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函数比如if ($quatity > 9){},if ($quatity > 19){},if ($quatity > 29){},if ($quatity > 39){},等等,

有人能想出简单的方法吗?

提前致谢!

这段代码会给你你想要的。

会分解10个产品的bonus,然后看看还有没有5个bonus可以给。

$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";
}