2011-09-07 25 views
0

我有一個小腳本,可在一段時間內分割出一定數量的收入。我似乎無法繞過我的頭,允許任何天數。目前我只能在每天的時間裏爲%s設置一個硬數組,這顯然不適用於大組的日組合。在X天內拆分金額

如果任何人有一個想法如何做到這一點,我會永遠感激。

我的代碼:

<?php 
//define variables 
$ammount = 11320.00; 
$start_date = "12/30/2011"; 
$days = 5; 

//setup array of percents 
$percent_array = array(3=>array(0 => 45, 1 => 30, 2 => 25), 4=>array(0 => 40, 1 => 30, 2 => 20, 3 => 10),4=>array(0 => 35, 1 => 25, 2 => 20, 3 => 10, 4 => 10)); 

//handle formatting the date for use in loop 
$format = 'D m/d/Y'; 
$sDate = strtotime($start_date); 

if ($usersTS !== false) { 
    for ($i = 0; $i < $days; $i++) { 
     echo date($format, strtotime('+' . $i . ' day', $sDate)); 
     echo " : "; 
     echo number_format($ammount * ($percent_array[$days][$i]/100), 2, ".", ","); 
     echo "<br />"; 
    } 
} else { 
    echo "No valid date supplied"; 
}; 
?> 

輸出:

Fri 12/30/2011 : 3,962.00 
Sat 12/31/2011 : 2,830.00 
Sun 01/01/2012 : 2,264.00 
Mon 01/02/2012 : 1,132.00 
Tue 01/03/2012 : 1,132.00 
+0

fyi,金額只有1 m – mpen

回答

2

所以,你想分配的數量超過X天的數量,以便更早的日子加權?

聽起來像你只是需要找到正確的功能。例如,您可以嘗試y=1/(x+1)。然後解決x天數,並使用每天作爲y值的百分比總和。

1

好,我是不是要拆分每天多少量十分清楚,但我覺得你是在想這問題?你能不能把這個數字除以日期?或者我錯過了一些東西...如果你可以發佈更多關於你的目標的信息,這將有所幫助:)

+1

這就是我的想法......雖然通過閱讀他的代碼,它看起來並不像他想要平均分配金額..我不確定他使用什麼算法 – mpen

+0

@Mark,我認爲他每天都有不同的百分比......這絕對會讓事情複雜化...... – hypervisor666

+0

事實上 - 無論有多少天,我都需要讓頭幾天變得沉重,然後分發餘下的項目餘額。 – Zephree