FOR循环使表和12个单元格然后换行

时间:2013-03-14 14:59:25

标签: php loops for-loop

我希望这个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>";

这就是我得到的和我需要的东西 my output

what i need

4 个答案:

答案 0 :(得分: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>";

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

答案 1 :(得分: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>";

答案 2 :(得分: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;

答案 3 :(得分: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>";