重複相同的值我創建一個PHP的財務計算,這需要我從數據庫中繪製數據,應用各種計算來確定月數和每月支付的保險費,然後迴應每個月的結果。.Foreach顯示正確的迭代,但在每個
發生什麼事是foreach正在返回正確的行數,但爲每次迭代重複最後一行,因此所有行都是相同的。
我遠離php fundi,花了3天的時間搜索論壇,手冊等,一直沒能找到問題。一些可能已經得到答案的文章完全凌駕於我的頭上。
對此的任何援助將深受感謝!
代碼:在我的測試案例= 38
$grosstotal = array();
for ($i=1; $i<=$totaldiff; $i++)
{
if ($i == '1') {
$start = $docraw;
}else {
$realdoc = strtotime(date('Y-m-d', strtotime($docraw)));
$start = $realdoc;
}
$days_between = round(abs($end - $start)/86400);
$contribution_core = round(abs($days_between)/30.42);
$mca = -floor($contribution_core/12);
$mcb = ($escalation+100)/100;
$months_contribution = $current_premium*(pow($mcb,$mca));
$grosstotal[] = $months_contribution;
}
foreach($grosstotal as $months_contribution) {
echo $months_contribution . '<br>';
$gtotal = array_sum($grosstotal);
}
$ totaldiff,所以結果應該是38個月(行)返回,分別表示該月的值。我的$ monthly_contribution最後一個月是4000.第一行根本沒有顯示。每12個月應反映不同的數額,因爲保費每年都在增加。在這種情況下,除了第一行之外,它完全沒有改變。
當我將$ i添加到我的echo語句中時,它在每一行顯示爲38,我認爲這表明$ i不是遞增的,而是純粹使用其最終值。
我得到的結果是:
66.4009861824<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
3005.25920361<br>
結果應該是: 3,005.26
3,005.26
3,005.26
3,005.26
3,005.26
3,005.26
3,005.26
3,005.26
3,005.26
3,005.26
3,005.26
3,005.26
3,305.79
3,305.79
3,305.79
3,305.79
3,305.79
3,305.79
3,305.79
3,305.79
3,305.79
3,305.79
3,305.79
3,305.79
3,636.36
3,636.36
3,636.36
3,636.36
3,636.36
3,636.36
3,636.36
3,636.36
3,636.36
3,636.36
3636。36
3,636.36
4,000.00
4,000.00
感謝您的迴應,但回聲在foreach語句的{}括號內。它不在最初的'for'聲明中,但不是foreach。如果我把它放在for語句中,那麼重複本身不斷重複。 – Vivienne
我一直在玩你整天說的話,終於至少解決了我的一部分問題。你對於結束語是正確的},但只有當我徹底拋棄了foreach語句,並且只是在for語句結尾處的echo之前,它才起作用。然後在我的代碼中發現與迭代中的日期計算和格式有關的不同問題。這是一個開始。謝謝! – Vivienne