用for循环创建表

时间:2014-03-17 08:35:32

标签: php for-loop html-table

基本上,我只是想学习如何使用PHP for循环生成一个表,按顺序列出数字。像这样:

21 | 26 | 31 | 36 
22 | 27 | 32 | 37
23 | 28 | 33 | 38
24 | 29 | 34 | 39
25 | 30 | 35 | 40

我知道这可能很简单,但我似乎无法弄明白!到目前为止,我有以下代码:

<?php
echo "<table border='1'><br />";

for ($row = 0; $row < 5; $row ++) {
   echo "<tr>";

   for ($col = 1; $col <= 4; $col ++) {
        echo "<td>", ($col + ($row * 4)), "</td>";
   }

   echo "</tr>";
}

echo "</table>";
?>

但是,这只会产生以下结果:

1  | 2  | 3  | 4 
5  | 6  | 7  | 8
9  | 10 | 11 | 12
13 | 14 | 15 | 16
17 | 18 | 19 | 20

我试图生成一个包含4行和5列的表格。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

$start = 21;
$n_rows = 5;
$n_cols = 4;

$out = '';
for ($i = 0; $i < $n_rows; $i++) {
    $row = '';
    for ($j = 0; $j < $n_cols; $j++) {
        $row .= '<td>'. ($start + $i + ($j * $n_rows)). '</td>';
    }
    $out .= '<tr>'. $row. '</tr>';
}
$out = '<table border="1">'. $out. '</table>';
echo $out;

答案 1 :(得分:1)

<?php
echo "<table border='1'><br />";

for ($row = 21; $row <=25; $row ++) {
   echo "<tr>";
   $x=$row;
   for ($col = 1; $col <= 4; $col ++) {
        echo "<td>".$x. "</td>";
        $x+=5;
   }

   echo "</tr>";
}

echo "</table>";
?>