使用PHP显示正确的每月摊还和剩余余额

时间:2015-09-29 02:21:10

标签: php for-loop

我写了一个程序,它将显示客户每月摊销和客户支付每月摊还的剩余余额,例如,如果客户每月摊销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/>" ))

);

1 个答案:

答案 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

希望以上清楚你的神秘。

参考:http://php.net/manual/en/control-structures.for.php