我写了一个程序,它将显示客户每月摊销和客户支付每月摊还的剩余余额,例如,如果客户每月摊销5742并且他/她支付10000,系统应显示5742和剩余余额这是4258.以下是我的代码,
$remaining = 10000;
$amort = 5742;
for($remaining += $amort; $remaining > $amort; $remaining-=$amort) {
$hi = ($remaining) < $amort ? $remaining : $amort;
echo $hi, "<br/>";
}
结果:
5742
5742
预期结果应为:
5742
4258
更新了代码,它运行良好,但如何插入if else?比方说,我想把它插入数据库?
for($remaining += $amort; $remaining > $amort; ($hi = ($remaining-=$amort) < $amort ? $remaining : $amort) .
print((($hi == $sales_mi) ? $hi . "<br/>" : $hi . "<br/>" ))
);
答案 0 :(得分:0)
在for循环中,第一个表达式$remaining += $amort
仅执行一次,并且在第一个表达式中很少使用+=
。第三个表达式在>>每次迭代后执行。
循环1:
$remaining += $amort // $remaining = 15742
$remaining > $amort; // yes, $remaining is larger than $amort, continue
echo $hi // print out $amort ( 5742 ), since $remaining > $amort
$remaining -= $amort // $remaining = 10000
循环2:
$remaining > $amort; // yes, $remaining is still larger than $amort, continue
echo $hi // print out $amort ( 5742 ), since $remaining > $amort
$remaining -= $amort// $remaining = 4258
循环3:
$remaining > $amort; // no, stop the loop
希望以上清楚你的神秘。