我想在PHP中使用for循环对数字求和。
像:的 '1+2+3+4+5+6+7+8+9+10=?'
这将使用
完成<?php
$start = 1;
$end = 10;
$sum = 0;
for ($i = $start; $i <= $end; $i++) {
$sum += $i;
}
echo "Sum from " . $start . " to " . $end . " = " . $sum;
?>
输出为:-Sum从1到10 = 55。
但我想这样输出:
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
我怎样才能做到这一点?
答案 0 :(得分:8)
简化版:
$numbers = range(1, 10);
echo implode('+', $numbers) . '=' . array_sum($numbers);
答案 1 :(得分:3)
你需要一个字符串变量来保存每个值,如下所示:
$start = 1;
$end = 10;
$text = ''; // added
$sum = 0;
for($i = $start; $i <= $end; $i++){
$text .= $i==$start ? $i : '+' . $i; // added
$sum += $i;
}
echo $text . ' = ' . $sum;
输出:
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
答案 2 :(得分:2)
$start = 1;
$end = 10;
$string = '';
$sum = 0;
for ($i = $start; $i <= $end; $i++) {
$sum += $i;
$string .= $i.'+';
}
$string = rtrim($string,'+');
echo $string." = " . $sum;
答案 3 :(得分:2)
<?php
$start = 1;
$end = 10;
$sum = 0;
for ($i = $start; $i <= $end; $i++) {
$sum += $i;
}
echo implode('+', range($start, $end)). '=' . $sum;
答案 4 :(得分:2)
<?php
$start = 1;
$end = 10;
$sum = 0;
for ($i = $start; $i <= $end; $i++) {
$sum += $i;
if($i != 10)
{
echo $i.'+';
}
else
{
echo $i;
}
}
echo '='.$sum;
?>
输出将是:
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
答案 5 :(得分:1)
试试这个:
$start = 1;
$end = 10;
$sum = 0;
for ($i = $start; $i <= $end; $i++) {
$sum += $i;
if ($i != $end) {
echo $i."+";
} else {
echo $i."=";
}
}
echo $sum;
输出:
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
答案 6 :(得分:1)
然后你需要连接一个字符串,而不是和数字。
$str = array();
for ($i = $start; $i <= $end; $i++) {
$str[] = $i;
}
$str = implode("+",$str)."=".$sum;
答案 7 :(得分:1)
你需要在for
循环中制作这样的字符串(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10),要制作这样的字符串,我们使用{{1} }运算符用于连接PHP中的字符串
像这样更新你的for循环,
.
$ result将有 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 作为最终结果。
答案 8 :(得分:1)
使用以下代码: -
$start = 1;
$end = 10;
$sum = 0;
$str = ''; // declare string variable
for ($i = $start; $i <= $end; $i++) {
$sum += $i;
$str .= $i==$start ? "$i":"+$i";
}
echo "$str = $sum";
<强>输出: - 强>
1+2+3+4+5+6+7+8+9+10 = 55