Ben Örneğin widget 10000 $ değerinde satmak ... farklı katmanlı düzeylerde gelir hesaplayabilirsiniz bir fonksiyon yazmaya çalışıyorum. 1 $ 'dan herhangi bir kazanç - 999 $ biz 1000 $% 50 alacak - 4999 $ biz 5000 $% 25 alır - 9999 $, biz% 10, 10.000 $ alacak - 19.999 $% 5.
Yüzde nihai değerine göre alınmaz. Eğer 10.000 $ kazandı Yani eğer sadece% 10 sütunun içine girmemektedir. İlk 1000 $% 50, bir sonraki 5000 $% 25, bir sonraki 4000 $% 10 tabidir.
Şimdiden teşekkürler.
** Final çalışma kodu. Yardımın için teşekkürler!
$input = 10000;
$tiers = array('1000' => .5, '5000' => .25, '10000' => .1, '20000' => .05, '22000' => .01);
$accounted_for = 0;
$total_share = 0;
$tier = each($tiers);
while($accounted_for < $input) {
$cutoff = $tier[0];
$percent = $tier[1];
$level = (min($cutoff, $input) - $accounted_for) * $percent;
$total_share += $level;
$accounted_for = $cutoff;
$tier = each($tiers);
}
return $total_share;