我试图用PHP生成一个表。
我需要这个表有365个单元格。
每行需要包含30个单元格。
请问怎么可能?
实际上,我有:
echo '
<table class="table">
';
$dates = getDatesFromRange('2017-01-01', '2018-01-01');
$i=1;
$limit=30;
// $dates contains an array of 365 dates
foreach($dates as $date){
if($i <= $limit) {
echo '<td width="20">'.-.'</td>';
$i++;
}
else {
echo '<tr><td width="20">'.-.'</td></tr>';
$i=1;
}
}
echo '
</table>
';
答案 0 :(得分:0)
使用嵌套循环:
$cells_per_row = 30;
$rows = ceil(count($dates)/$cells_per_row);
echo '<table class="table">';
for($i=0;$i<$rows;$i++){
echo '<tr>';
for($u=0;$u<$cells_per_row;$u++){
if(!isset($dates[$i*$cells_per_row+$u])) // stop if end of array is reached
break;
echo '<td width="20">'.$dates[$i*$cells_per_row+$u].'</td>';
}
echo '</tr>';
}
echo '</table>';