首页 > 解决方案 > 如何根据项目的价格范围计算总成本

问题描述

我需要根据范围计算项目的总成本:

    if ($itemCount <11)
        {
    $cost_for_range = 1;
        }
    if ($itemCount <26 && $itemCount >=11)
    {
        $cost_for_range = 0.75;
    }
    if ($itemCount <50 && $itemCount >=26)
    {
        $cost_for_range = 0.55;
    }

问题是 - 我需要考虑早期水平来计算最终成本 - 例如,如果购物车有 30 件商品,价格将是:

标签: phprangeprice

解决方案


min使用和max做各种范围有一些乐趣......

function calculateCost ( int $count, float $cost )  {
    $total = min(10, $count) * $cost;
    $total += (min(15, max(0, $count - 10)) * ($cost * 0.75));
    $total += (max(0, $count - 25) * ($cost * 0.55));
    return $total;
}

第二个计算使用max(0, $count - 10),所以这会取消前 10 个,但确保它不会变为负数。然后它使用min(15, max(0, $count - 10))15 中的最小值或剩下的数字(所以如果是 30,这将是 15)。

最后一个只是max计数中的 - 25 或 0,所以对于 30,这是 5。

与...一起使用

echo calculateCOst( 30, 1 );

24


推荐阅读