我有for
循环的以下代码,我想要做的是每次循环运行时,下一个$data
需要是前一个$data * 1.025
$amount = 3150;
$age=22;
for ($x = $age; $x<= 60; $x++){
$data = $amount*1.025;
echo "amount_$x = $data<br>";
}
这给了我以下结果,这是因为$data
的值永远不会改变
amount_22 = 3228.75
amount_23 = 3228.75
amount_24 = 3228.75
amount_25 = 3228.75
我正在寻找的结果应该是
amount_22 = 3228.75
amount_23 = 3309.47
amount_24 = 3392.20
amount_25 = 3477.01
如果您获得$data * 1.025
答案 0 :(得分:1)
$amount
在您的循环中不会发生变化,因此$amount*1.025;
也不会发生变化。试试$data = $data*1.025;
。请注意,您需要初始化$data = $amount;
。
答案 1 :(得分:1)
您正在根据相同的变量$data
更改$amount
。数量在循环中不会改变,因此结果是相同的。
试试这个:
$amount = 3150;
$age = 22;
for ($x = $age; $x <= 60; $x++){
$amount = $amount*1.025;
echo "amount_$x = $amount<br>";
}
答案 2 :(得分:1)
尝试将代码更改为:
$amount = $amount*1.025;
echo "amount_$x = $amount<br>";
这将每次递增amount
,并且自从在循环外声明amount
以来将保留更改。
答案 3 :(得分:1)
每次循环更新$amount
。
E.g。
$amount = 3150;
$age=22;
for ($x = $age; $x<= 60; $x++){
$amount = $amount*1.025;
echo "amount_$x = $amount<br>";
}
答案 4 :(得分:1)
您说新数据必须是以前的数据* 1.025,但您要乘以$amount
而不是$data
。
$data = 3150;
$age=22;
for ($x = $age; $x<= 60; $x++){
$data = $data*1.025;
echo "amount_$x = $data<br>";
}
答案 5 :(得分:0)
一个很好的解决方案是为$ ite和1.025分配一个产品的变量,以便进行迭代:
<?php
$amount = 3150;
$age=22;
for ($x = $age; $x<= 60; $x++){
$amount = $amount * 1.025;
echo "amount_$x = $amount<br>";
}
?>