在X天内分配金额

时间:2011-09-07 05:24:40

标签: php

我有一个小脚本,在一段时间内分割出一定数量的收入。我好像无法忍受任何天数。目前,如果我为每天的天数设置一个%s数组,我只能让它工作,这显然不适用于大型日组合。

如果有人知道如何做到这一点,我将永远感激。

我的代码:

<?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

2 个答案:

答案 0 :(得分:2)

因此,您希望在超过X天的时间内分配金额,以便较早的日期加权?

听起来你只需要找到合适的功能。例如,您可以尝试y=1/(x+1)。然后求解x天数,并将每一天用作y值的百分比。

答案 1 :(得分:1)

好吧,我不太确定你想要每天分配多少金额,但我认为你是在考虑这个问题?难道你不能把金额除以天数吗?或者我错过了一些东西......如果你能发布更多关于你的目标的信息,那将会有所帮助:)