使用 PHP 根据产品重量计算运费


calculate shipping cost on base on product weight with php

我必须计算有重量的产品的运费。我的体重以克为单位,即 1000 克是 1 公斤。

送货价格为2.80公斤以下3美元,每增加一公斤0.76美元。

交货的最大重量为100公斤。我可以做,如果 - 否则,或者切换,但我想拿出一些更优雅的解决方案。任何帮助将不胜感激。

问候,约翰

如果你想要一些可读的东西(并且猜测你不想四舍五入):

if($weight <3000){
$shipping=2.8;
}elseif ($weight <100000){
$shipping=2.8+(0.00076*($weight-3000));
}else{
$shipping="to heavy";
}
echo $shipping //format $shipping depending on currency

$cost = $kg <= 100 ? max(array($kg - 3 , 0)) * 0.76 + 2.80 : false

如果$kg小于 100,则:

减去 3 公斤,以及

如果结果为负数,则将其设置为 0。将其乘以剩余公斤每公斤 0.76 美元。

最后,加上初始"最多 3"公斤的 2.80 美元的基本成本。

如果基本重量超过 100,则返回false因为这超出了范围。

以克为单位:

$cost = $g <= 100*1000 ? max(array($g - 3*1000 , 0)) * 0.76/1000 + 2.80 : false

尝试一个无限循环,比如

$weight = $weightStart
$costs = 0;
 while ($weight > 0)
 {
 if ($weight < 3){$costs += 2.80;$weightOnce=3} else {$costs = 0.76;$weightOnce = 1;}
 $weight -= $weightOnce;
 }
echo $costs;