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
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 に答える
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 ループ」を使用します。

$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 に答える