我需要在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>
希望你能帮助我谢谢:)
答案 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,因此实际上不需要循环