PHP 带循环计算
PHP with Loop Calculation
能帮忙吗,不知道如何在PHP
中使用循环解决这个问题
$pay = [20, 40 , 89, 300, 190, 15]; <br/>
$Capital = 1000; <br/>
我希望循环实现这个结果
1000-20 = 980 <br/>
980-40 = 940 <br/>
940-89 = 851 <br/>
851-300 = 551 <br/>
551-190 = 361 <br/>
361-15 = 346 <br/>
我的代码是:
$newbal = $Capital-$pay <br/>
for ($amount=$newbal; $amount>=$Capital; $amount-=$pay) {
echo “{$amount} ”; <br/>
$amount++; <br/>
}
我的代码给出了这个结果:
1000-20 = 980 <br/>
1000-40 = 960 <br/>
1000-89 = 911 <br/>
1000-300 = 700 <br/>
1000-190 = 810 <br/>
1000-15 = 985 <br/>
下面的代码循环遍历 $pays
整数数组。
每个循环计算 $captial
减去一个整数并重复的方程,这是计算并作为字符串存储在 $lines
变量中,在每个循环结束时我们重新计算$capital
并根据之前 capital = capital - pay
的计算更新 $capital
的新值
<?php
$pays = [20, 40 , 89, 300, 190, 15];
$capital = 1000;
$lines = [];
foreach($pays as $pay){
$lines[] = $capital . "-" . $pay . " = " . ($capital - $pay) . "<br/>";
$capital -= $pay;
}
echo implode("\n", $lines);
?>
<?php
$pay = [20, 40 , 89, 300, 190, 15];
$Capital = 1000;
foreach ($pay as $amount) {
$newCap = $Capital - $amount; // calculate the new amount for output
echo $Capital . ' - ' . $amount . ' = ' . $newCap . '<br>'; // output it
$Capital = $newCap; // update the new amount for the next iteration
}
与其使用复杂的 for
循环,我建议使用 foreach
循环遍历 $pay
数组并在 [=17] 之后覆盖 $Capital
=].
我们可以使用"${}"
语法来use variables inside strings。
考虑这个例子:
<?php
$pay = [20, 40 , 89, 300, 190, 15];
$Capital = 1000;
$newBal = $Capital;
foreach ($pay as $amount) {
echo "${Capital} - ${amount} = " . ($Capital - $amount) . PHP_EOL;
$Capital -= $amount;
}
这将输出以下内容test in this online demo
1000 - 20 = 980
980 - 40 = 940
940 - 89 = 851
851 - 300 = 551
551 - 190 = 361
361 - 15 = 346
我们可以对 $Capital
进行内联赋值,所以我会读到:
echo "${Capital} - ${amount} = " . ($Capital = $Capital - $amount) . PHP_EOL;
但是为了便于阅读,我会像我的例子一样多加一行。
您有点过于复杂了,您显示的代码产生了错误,而不是您声明的输出。
您可以通过直接使用 foreach
遍历 $pay
数组并每次将余额减少当前付款项中的金额来更简单地实现此目的:
$pay = [20, 40 , 89, 300, 190, 15];
$capital = 1000;
$balance = $capital;
foreach ($pay as $item)
{
$output = $balance."-".$item." = ";
$balance -= $item;
$output .= $balance;
echo $output.PHP_EOL;
}
工作演示:http://sandbox.onlinephpfunctions.com/code/dd1189f2d48b3428986ce52a087fb425ee970621
使用 $balance
变量对 $pay
数组进行简单的 foreach 循环将允许在循环内进行简单的计算:
$pay = [20, 40 , 89, 300, 190, 15];
$Capital = 1000;
$balance = $Capital;
foreach ($pay as $p) {
printf("%d - %d = %d\n", $balance, $p, $balance = $balance - $p);
} ########################
输出:
1000 - 20 = 980
980 - 40 = 940
940 - 89 = 851
851 - 300 = 551
551 - 190 = 361
361 - 15 = 346
能帮忙吗,不知道如何在PHP
$pay = [20, 40 , 89, 300, 190, 15]; <br/>
$Capital = 1000; <br/>
我希望循环实现这个结果
1000-20 = 980 <br/>
980-40 = 940 <br/>
940-89 = 851 <br/>
851-300 = 551 <br/>
551-190 = 361 <br/>
361-15 = 346 <br/>
我的代码是:
$newbal = $Capital-$pay <br/>
for ($amount=$newbal; $amount>=$Capital; $amount-=$pay) {
echo “{$amount} ”; <br/>
$amount++; <br/>
}
我的代码给出了这个结果:
1000-20 = 980 <br/>
1000-40 = 960 <br/>
1000-89 = 911 <br/>
1000-300 = 700 <br/>
1000-190 = 810 <br/>
1000-15 = 985 <br/>
下面的代码循环遍历 $pays
整数数组。
每个循环计算 $captial
减去一个整数并重复的方程,这是计算并作为字符串存储在 $lines
变量中,在每个循环结束时我们重新计算$capital
并根据之前 capital = capital - pay
$capital
的新值
<?php
$pays = [20, 40 , 89, 300, 190, 15];
$capital = 1000;
$lines = [];
foreach($pays as $pay){
$lines[] = $capital . "-" . $pay . " = " . ($capital - $pay) . "<br/>";
$capital -= $pay;
}
echo implode("\n", $lines);
?>
<?php
$pay = [20, 40 , 89, 300, 190, 15];
$Capital = 1000;
foreach ($pay as $amount) {
$newCap = $Capital - $amount; // calculate the new amount for output
echo $Capital . ' - ' . $amount . ' = ' . $newCap . '<br>'; // output it
$Capital = $newCap; // update the new amount for the next iteration
}
与其使用复杂的 for
循环,我建议使用 foreach
循环遍历 $pay
数组并在 [=17] 之后覆盖 $Capital
=].
我们可以使用"${}"
语法来use variables inside strings。
考虑这个例子:
<?php
$pay = [20, 40 , 89, 300, 190, 15];
$Capital = 1000;
$newBal = $Capital;
foreach ($pay as $amount) {
echo "${Capital} - ${amount} = " . ($Capital - $amount) . PHP_EOL;
$Capital -= $amount;
}
这将输出以下内容test in this online demo
1000 - 20 = 980
980 - 40 = 940
940 - 89 = 851
851 - 300 = 551
551 - 190 = 361
361 - 15 = 346
我们可以对 $Capital
进行内联赋值,所以我会读到:
echo "${Capital} - ${amount} = " . ($Capital = $Capital - $amount) . PHP_EOL;
但是为了便于阅读,我会像我的例子一样多加一行。
您有点过于复杂了,您显示的代码产生了错误,而不是您声明的输出。
您可以通过直接使用 foreach
遍历 $pay
数组并每次将余额减少当前付款项中的金额来更简单地实现此目的:
$pay = [20, 40 , 89, 300, 190, 15];
$capital = 1000;
$balance = $capital;
foreach ($pay as $item)
{
$output = $balance."-".$item." = ";
$balance -= $item;
$output .= $balance;
echo $output.PHP_EOL;
}
工作演示:http://sandbox.onlinephpfunctions.com/code/dd1189f2d48b3428986ce52a087fb425ee970621
使用 $balance
变量对 $pay
数组进行简单的 foreach 循环将允许在循环内进行简单的计算:
$pay = [20, 40 , 89, 300, 190, 15];
$Capital = 1000;
$balance = $Capital;
foreach ($pay as $p) {
printf("%d - %d = %d\n", $balance, $p, $balance = $balance - $p);
} ########################
输出:
1000 - 20 = 980
980 - 40 = 940
940 - 89 = 851
851 - 300 = 551
551 - 190 = 361
361 - 15 = 346