【发布时间】:2010-03-06 01:40:06
【问题描述】:
假设您的到达日期为 12/28/10 和出发日期为 1/5/11,以数组的形式(始终一致且可以依赖),例如:
$data = array(
0 => array(
'Date' => '12/28/10',
'Price' => 100
),
1 => array(
'Date' => '12/29/10',
'Price' => 100
),
2 => array(
'Date' => '12/30/10',
'Price' => 100
),
3 => array(
'Date' => '12/31/10',
'Price' => 100
),
4 => array(
'Date' => '1/1/11',
'Price' => 100
),
5 => array(
'Date' => '1/2/11',
'Price' => 100
),
6 => array(
'Date' => '1/3/11',
'Price' => 100
),
7 => array(
'Date' => '1/4/11',
'Price' => 100
)
);
如何生成一个表格来汇总两周的利率上涨,第一个表格单元格从星期日开始,最后一个表格单元格从星期六开始?
输出应该是这样的:
<table>
<tr>
<thead>
<tr>
<th>Sun</th>
<th>Mon</th>
<th>Tue</th>
<th>Wed</th>
<th>Thu</th>
<th>Fri</th>
<th>Sat</th>
</tr>
</thead>
<tbody>
<tr>
<td>12/26</td>
<td>12/27</td>
<td>12/28</td>
<td>12/29</td>
<td>12/30</td>
<td>12/31</td>
<td>1/1</td>
</tr>
<tr>
<td>$100</td>
<td>$100</td>
<td>$100</td>
<td>$100</td>
<td>$100</td>
<td>$100</td>
<td>$100</td>
</tr>
<tr>
<td>1/2</td>
<td>1/3</td>
<td>1/4</td>
<td>1/5</td>
<td>1/6</td>
<td>1/7</td>
<td>1/8</td>
</tr>
<tr>
<td>$100</td>
<td>$100</td>
<td>$100</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
到目前为止,我所做的是:
$firstDay = strtotime( $data[0]['Date'] );
$firstSunday = strtotime('last sunday', $firstDay);
$lastDay = strtotime( $data[count($data)-1]);
$lastSaturday = strtotime('saturday', $lastDay);
$nights = (( $lastSaturday - $firstSunday ) / 86400) + 1;
$numWeeks = $nights / 7;
for ( $i=0; $i< $numWeeks; $i++) {
}
但是我不确定我所做的是否正确,那就是循环数周..因为我似乎无法在该循环中获得我想要的那一天的参考。
以前,我不需要生成 mm/dd 行,因此我可以依赖循环遍历所有天,但它变得更加复杂,因为我现在每周需要两行。
【问题讨论】: