PHP循环1到10

时间:2016-11-21 09:15:06

标签: php loops for-loop

我需要在php中创建一个循环,执行1 + 2 + 3 + 4 .... + 10 = 55但是icant让它工作。我这样做了:

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <?php 
        for ($i = 1; $i <= 10; $i++){
            $sul = $i + $i + $i + $i + $i + $i + $i + $i + $i + $i;
            echo "$i + $i + $i + $i + $i + $i + $i + $i + $i + $i = $sul<br>";

        };

    ?>
</body>

希望你能帮助我谢谢:)     

7 个答案:

答案 0 :(得分:7)

此代码可以帮助您:

<?php
$sum = 0;
for($i = 1; $i<=10; $i++) {
    $sum = $sum + $i;
}
echo $sum;    
?>

使用循环是不正确的。

<强>解释

我认为用下表更容易理解:

_____________________
|JUMP | $i   | $sum  |
|1    | 1    | 1     |
|2    | 2    | 3     |
|3    | 3    | 6     |
|4    | 4    | 10    |
|5    | 5    | 15    |
|6    | 6    | 21    |
|7    | 7    | 28    |
|8    | 8    | 36    |
|9    | 9    | 45    |
|10   | 10   | 55    |

有关for的更多信息,请参阅PHP: for

<强>更新

如果您想要您的结构,可以如下:

<?php
$sum = 0;
$str = '';
for($i = 1; $i<=10; $i++) {
    $sum = $sum + $i;
    $str .= $i == 10 ? $i." = " : $i." + ";
}
echo $str.$sum;
?>

它将输出1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

答案 1 :(得分:4)

或许这样的事情?

$range = range(1, 10);
$sum = array_sum($range);

echo implode(' + ', $range) . ' = ' . $sum;

range() - docs

array_sum() - http://php.net/range

implode() - http://php.net/array_sum

答案 2 :(得分:2)

只需从1到10开始进行for循环,如下所示。您需要将计数器初始化为0,并且在循环执行时,您需要将它们收集/求和到计数器,最后在循环外打印/回显计数器。

$count = 0;
$string = '';
for ($i = 1; $i <= 10; $i++){
    $count += $i;

    $string .= ($i == 10) ? $i : $i." + ";
}
echo $string." = ".$count; // 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

这是一种非常简单直接的方法,您可以使用PHP内置的一些数组函数来完成此操作。

答案 3 :(得分:1)

如果您不想对其进行硬编码,则可以执行此操作

<?php
$answer = 0;    
for ($i = 1; $i <= 10; $i++){
         $answer = $i + $answer;
         if ($i == 10) {
           echo $i." = ".$answer;
         }
         else {
           echo $i." + ";
         }       
    };
?>

输出是:

1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

答案 4 :(得分:0)

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <?php
        $n = 10;
        $items = range(1, $n);
        $sum = array_sum($items);
        echo implode('+', $items) . ' = ' . $sum;
    ?>
</body>

这种方式更短。 您生成的数组从1到$ n(10);

然后计算项目的总和。

然后用'+'连接每个元素并添加总和。

答案 5 :(得分:0)

你去了:

$sum = 0;
for($i = 1; $i <= 10; $i++){
    if($i == 10){
        echo $i;
    } else {
        echo $i." + ";
    }
    $sum = $sum + $i;
}
echo " = ".$sum;

答案 6 :(得分:0)

for循环实际上重复了一段代码n次,你的语法是正确的,你的语义是错误的:在0中初始化一个计数器,并在每个步骤中将i添加到计数器中,就像其他人说的那样。另外,如果不是强制使用for,请记住前n个自然数之和为n(n + 1)/ 2,因此实际上不需要循环