1

我希望这个 for 循环回显表格,制作 12 个单元格并在每个单元格中回显一年并制作一个新行

echo "<table>"
echo "<tr>";
for ($Year; $Year <= 2013; $Year++) {
    for ($i=0; $i <= 13; $i++) {

        if ($i==13) {
            echo "</tr><tr>";   
        }
    echo "<td style='text-align:center;'>$Year</td>";
    ++$Year;
    ++$i;
}
echo "</tr>";
}

echo "</table>";

这就是我得到的和我需要的 我的输出

我需要的

4

4 回答 4

0

这段简单的代码呢?

echo "<table><tr>";

for($year = 1912; $year <= date('Y'); $year++)
{
    echo "<td style='text-align:center;'>{$year}</td>";
    if($year % 12 == 3) echo '</tr><tr>';
}

echo "</tr></table>";

不是很聪明,可以升级以更好地处理不同的起始值等。

于 2013-03-14T15:23:09.113 回答
0

另一种方法,使用mod而不是额外的for循环:

$Year = 1912;
$EndYear = 2013;
$i = 1;

echo "<table>";
echo "<tr>";

while ($Year <= $EndYear) {
    if (($i % 13) == 0) {
        echo "</tr><tr>";   
        $i = 1;
    }
    echo "<td style='text-align:center;'>$Year</td>";
    ++$i;
    ++$Year;
}
echo "</tr>";
echo "</table>";
于 2013-03-14T15:34:21.327 回答
0

使用一些 PHP-Fu 的其他技术:

$start = 1912;
$end = 2013;
$array = range($start, $end);
$array_chunks = array_chunk($array, 12);
$table = '<table>';
foreach($array_chunks as $chunk){
    $table .= '<tr><td>'. implode('</td><td>', $chunk) .'</td></tr>';
}
$table .= '</table>';
echo $table;

如果你想拖钓,请使用这样的“for-loop”:

$start = 1912;
$end = 2013;
$array = range($start, $end);
$array_chunks = array_chunk($array, 12);
$table = '<table>';
$c = count($array_chunks);
for($i=0;$i<$c;$i++){
    $table .= '<tr><td>'. implode('</td><td>', $array_chunks[$i]) .'</td></tr>';
}
$table .= '</table>';
echo $table;
于 2013-03-14T15:41:13.803 回答
0
<?php
echo "<table><tr>";
$i = 0;
for ($year= 1912; $year <= 2013; $year++) {
    echo "<td style='text-align:center;'>$year</td>";
    if(++$i == 12) {
        echo '</tr><tr>'; 
        $i=0;
    }
}
echo "</tr></table>";
于 2013-03-14T15:43:27.720 回答