Как рассчитать накопительную сумму в PHP? - PullRequest
1 голос
/ 02 апреля 2019

Я хочу вычислить сумму и вывести таблицу из двух столбцов. Но формат неправильный. Все числа упакованы в одну строку.

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>

1 Ответ

2 голосов
/ 02 апреля 2019

Здесь мы будем писать один или два цикла 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

...