将所有先前的数字添加到for循环中以获取当前数字

时间:2019-02-28 21:01:29

标签: php for-loop

我有这个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

如何获得所需的输出?

2 个答案:

答案 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;
}
?>