FOR循环,使再表和12个细胞的新生产线

问题描述:

我想这个for循环呼应表,使12个细胞并在一年中的每个回波,并作出新的生产线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

+1

什么是第一年? – Ejzy 2013-03-14 15:04:20

+0

你是双重递增的,你只需要在for语句中运行'$ Year ++;',而不是在代码中。但仅仅改变它并不能完全解决你的代码。 – 2013-03-14 15:12:25

+0

1912它设置在原代码 – 2013-03-14 15:17:25

那这一段简单的代码?

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>"; 

没有真正聪明的,可升级,以更好地处理不同的初始值等

+0

作品!谢谢! – 2013-03-14 17:26:16

的另一种方式,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>"; 

其他技术使用一些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; 

<?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>";