Я пытаюсь написать функцию, которая может вычислять доход на разных уровнях ... Например, вы продаете виджеты стоимостью 10000 долларов. Любой доход от 1 до 999 долларов мы берем 50%, от 1000 до 4999 долларов мы берем 25%, от 5000 до 9999 долларов мы берем 10%, от 10000 до 19999 долларов 5%.
Процент не берется на основе окончательного значения. Так что, если вы заработали 10000 долларов, вы не просто попадете в колонку 10%. Ваши первые 1000 долларов подлежат 50%, следующие 5000 долларов 25%, следующие 4000 долларов 10%.
Заранее спасибо.
** Окончательный рабочий код. Спасибо за помощь!
$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;