Распределение чисел в процентном соотношении
есть партнеры которые привлекают клиентов на сайт. на сайте есть учитываемый вид платежа(автоматический). и не учитываемый (ручной).
предположим что 4 партнера привлекли на сайт 150 клиентов в сумме. из них по учитываемому виду платежа партнеры привлекли 5, 8, 1, 0 клиентов соответственно.
т.е. получается что через учитываемый вид платежа было совершено 5+8+1=14 покупок.
задача в следующем. распределить все платежи на всех партнеров ориентируясь на учитываемый вид платежа.
например: всего 14 сделок. первый партнер сделал 5 учитываемых сделок. получается что 5 - это ~35,71% от 14. а 35,71% от 150 - это 53,57. т.е. округляя мы получим что первый партнер совершил 53 сделки.
сначала я сделал так:
# исходный массив
array (
0 =>
array (
'count_pay' => '5',
),
1 =>
array (
'count_pay' => '8',
),
2 =>
array (
'count_pay' => '1',
),
3 =>
array (
'count_pay' => 0,
),
)
$vsego = 150;
$sum_of_done = 14;
$rows = array();
foreach ($rows as $key => $value) {
$value['raschet'] = floor($value['count_pay']*$vsego/$sum_of_done); // расчет и округление до целого
}
return $rows;
получается что каждый партнер сделал 53, 85, 10 и 0 сделок. в сумме = 148. остается 2 не распределенных. если использовать round для округления. то будет 151.
как сделать распределение всей сумы 150 на каждого из партнеров?