如何在PHP中计算累计和?

时间:2019-04-02 03:02:24

标签: php html string for-loop html-table

我想计算总和并输出两列表格。但是,格式是错误的。这些数字都打包在一行中。

Wrong table

 <td>
 <?php
for ($j = 1; $j <= 10; $j++)
    {
        print "<tr>";
        print $j;
        print "</tr>";
    }
?>    
 </td>

 <td>
 <?php
$sum = 0;
for($i = 1; $i<=10; $i++) 
{
     print "<tr>";
     print $sum = $sum + $i;
     print "</tr>";

}
?>    
 </td>

2 个答案:

答案 0 :(得分:2)

在这里,我们将编写一个或两个for循环,加入所需的HTML字符串,最后将其打印出来。

测试:

<?php

$html = '<tr>';

for ($j = 1; $j <= 10; $j++) {
    $html .= "<td>" . $j . "</td>";
}

$html .= '</tr>';
$html .= '<tr>';

$sum = 0;
for ($i = 1; $i <= 10; $i++) {
    $sum += $i;
    $html .= "<td>" . $sum . "</td>";
}

$html .= '</tr>';

print($html);

?>

我们还将添加表的打开和关闭标签(<table></table>):

<?php

$html = '<table>';
$html .= '<tr>';
$html .= "<td>Number</td>";

for ($j = 1; $j <= 10; $j++) {
    $html .= "<td>" . $j . "</td>";
}

$html .= '</tr>';
$html .= '<tr>';
$html .= "<td>Cumulative Sum</td>";
$sum = 0;
for ($i = 1; $i <= 10; $i++) {
    $sum += $i;
    $html .= "<td>" . $sum . "</td>";
}

$html .= '</tr>';
$html .= '</table>';

print($html);

?>

Two rows

对于两列,我们将只使用一个for`循环:

<?php

$html = '<table>';
$html .= "<tr><th>Number</th><th>Cumulative Sum</th></tr>";

for ($j = 1; $j <= 10; $j++) {
    $html .= "<tr>";
        $html .= "<th>" . $j . "</th>";
        $sum += $j;
        $html .= "<th>" . $sum . "</th>";
    $html .= "</tr>";
}

$html .= '</table>';

print($html);

Two Col

答案 1 :(得分:0)

当我想在 PHP 中获得累积总和时,我最终来到了这里。对于像我这样的人,我写了以下函数。空数组也是安全的。

function cumsum ($arr) {
    return array_reduce($arr, function ($c, $i) { $c[] = end($c) + $i; return $c; }, []);
}