2011-09-07 7 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

@ 마크, 나는 그가 매일 다른 시간대로 나뉘어 있다고 생각합니다. 분명히 상황을 복잡하게합니다 ... – hypervisor666

+0

실제로 - 몇일이 있더라도 처음 며칠을 무겁게 만들어야합니다. 남은 금액은 나머지 프로젝트보다 많습니다. – Zephree