“”我正在试着得到这个输出。我有一个数据库表,在这里我节省了商店的营业时间和周一到周日的关门时间。我能够在浏览器上获得记录,但我试图按日期对日期进行排序。如果今天是星期五,那么星期五应该先显示出来,然后在一周的其余时间显示。守则是:
<?php
$wdays = array( 0 => "Monday" , 1 => "Tuesday", 2 => "Wednesday", 3 => "Thursday", 4 => "Friday", 5 => "Saturday", 6 => "Sunday");
$times = array(
0 => date( $row_DetailRS1['monO'] ). " ". date( $row_DetailRS1['monC'] ),
1 => date( $row_DetailRS1['tueO'] ) . " ". date( $row_DetailRS1['tueC'] ),
2 => date( $row_DetailRS1['wedO'] ) . " ". date( $row_DetailRS1['wedC'] ),
3 => date( $row_DetailRS1['thurO'] ) . " ". date( $row_DetailRS1['thurC'] ),
4 => date( $row_DetailRS1['friO'] ) . " ". date( $row_DetailRS1['friC'] ),
5 => date( $row_DetailRS1['satO'] ) . " ". date( $row_DetailRS1['satC'] ),
6 => date( $row_DetailRS1['sunO'] ) . " ". date( $row_DetailRS1['sunC'] ) );
$combine = array_combine($wdays, $times);
$html = "<table>";
$html .= "<tr><td>Sl.No</td><td>Days</td><td>Business Hours</td></tr>";
$i = 0;
while (true) {
if ($i === 7) break;
if ($datetime->format('N') === '7' && $i === 0) {
$datetime->add(new \DateInterval('P1D'));
continue;
}
echo $datetime->format('D') . $listItem[1] . "<br/>";
$listItem = array('<li>', '</li>');
$datetime->add(new \DateInterval('P1D'));
$i++;
echo "Value for i: ".$i. "and the day is: ". $datetime->format('D') . "<br/><br/><br/><br/> " ;
}
foreach ($combine as $wdays => $times):
$html .= "<tr>";
$html .= "<td>". $datetime->format('D')."</td>";
$html .= "<td>".$i."</td>";
$html .= "<td>".$times."</td>";
$html .= "</tr>";
$datetime->add(new \DateInterval('P1D'));
$i++;
endforeach;
$html .= "</table>";
echo $html;发布于 2016-08-16 13:04:50
我想我已经破解了
所以就这样说:-
<?php
$datetime = new \DateTime();
$listItem = array('<li class="active">', '</li>');
$times = array(
1 => date( $row_DetailRS1['monO'] ). " ". date( $row_DetailRS1['monC'] ),
2 => date( $row_DetailRS1['tueO'] ) . " ". date( $row_DetailRS1['tueC'] ),
3 => date( $row_DetailRS1['wedO'] ) . " ". date( $row_DetailRS1['wedC'] ),
4 => date( $row_DetailRS1['thurO'] ) . " ". date( $row_DetailRS1['thurC'] ),
5 => date( $row_DetailRS1['friO'] ) . " ". date( $row_DetailRS1['friC'] ),
6 => date( $row_DetailRS1['satO'] ) . " ". date( $row_DetailRS1['satC'] ),
7 => date( $row_DetailRS1['sunO'] ) . " ". date( $row_DetailRS1['sunC'] ) );
$html = "<table>";
$html .= "<tr> <td>Days</td> <td> </td> <td></td> <td>Business Hours</td></tr>";
$i = 1;
foreach ($times as $key => $value):
$m = $datetime->format('N');
$html .= "<tr>";
$html .= "<td>". $datetime->format('D')."</td>";
$html .= "<td>". " "."</td>";
$html .= "<td>". " "."</td>";
$html .= "<td>".$times[$m]."</td>";
$html .= "</tr>";
$datetime->add(new \DateInterval('P1D'));
$i++;
endforeach;
$html .= "</table>";
echo $html;
?>发布于 2016-08-12 05:16:47
我不认为您想在$combine上使用foreach,您只想要这样的循环:(我认为这样会有用):
for ($i=0;$i<7;$i++)
$html .= "<tr>";
$html .= "<td>". $datetime->format('D')."</td>";
$html .= "<td>".$i."</td>";
$html .= "<td>".$combine[$i]."</td>";
$html .= "</tr>";
$datetime->add(new \DateInterval('P1D'));
endfor;https://stackoverflow.com/questions/38910172
复制相似问题