我正在用 PHP 构建一个日历。
在控制器中,我检测到给定月份的天数,并将该范围设置为数组:daysInMonthArray
。
在视图中,我将foreach
这个数组输出到每个数字中<td>
:
<tr>
<?php
// output the number of days in the month
foreach($this->daysInMonthArray as $days1){
foreach($days1 as $key => $object){
echo "<td>" . $object . "</td>";
}
} ?>
</tr>
我想<tr>
每隔 8 个号码开始一个新号码,因为一周有 7 天,需要开始新的一行才能开始新的一周。
我尝试封闭一个 if 语句,如果除以 8,则检测输出的剩余部分。如果输出为 0,则换行,如果不是,则继续。但是,这不起作用,因为<tr>
标签在 php 语句之外。
根据答案和评论,我已将代码更新为:
<tr>
<?php
// output the number of days in the month
foreach($this->daysInMonthArray as $days1){
foreach($days1 as $key => $object){
if($object % 8 == 0){
echo "</tr><tr><td>" . $object . "</td>";
}else {
echo "<td>" . $object . "</td>";
}
}
} ?>
</tr>
除了一个月的中间两周外,这几乎可以正常工作。它在中间 2 周放置 8 天,但在第一周和最后一周放置 7 天。