我有这个for循环:
for($i = 1; $i <= 7; $i++) {
echo $i . "<br>";
}
哪个输出:
1
2
3
4
5
6
7
现在,我要在每个循环上添加所有先前的数字。因此输出应为:
1
2 // add all above to get this number
3 // add all above to get this number
6 // add all above to get this number
12 // add all above to get this number
24 // add all above to get this number
48 // add all above to get this number
96 // add all above to get this number
...etc
第一个和第二个数字不一定必须在循环中,可以在外部手动定义。
我不想要的是在每个循环上添加$ i的值,但在每个循环上添加所有先前的数字。
我尝试使用以下代码进行总结:
$sum = 0;
for($i = 1; $i <= 5; $i++) {
$sum = $sum + $i;
echo $sum . "<br>";
}
但我得到以下输出:
1
3
6
10
15
21
28
如何获得所需的输出?
答案 0 :(得分:2)
<?php
$value = 0;
for($i = 1; $i <= 8; $i++) {
if($value < 3){
$value = $value + 1;
} else{
$value = $value * 2;
}
echo $value . '<br>';
}
?>
答案 1 :(得分:2)
尝试一下
<?php
$results = [];
for ($i = 0; $i <= 7; $i++){
$currentResult = 0;
if ($i < 2){
$currentResult = $i+1;
}
else{
foreach($results as $currenNumber){
$currentResult += $currenNumber;
}
}
echo $currentResult . '<br>';
$results[] = $currentResult;
}
?>