像这样的东西应该可以解决问题(未经测试):
// Create the dates array
$dates = array();
// Loop through 9 times (9 days)
for($i=0;$i<9;$i++){
// Set the timestamp
// This starts in 2 days
$timestamp = strtotime('+ '.(2+$i).' days');
// Set the date value
$date = date('Y-m-d',$timestamp);
// Set the formatted date value
$date_formatted = date('D, js F Y',$timestamp);
// Place the date into the $dates array
$dates[$date] = $date_formatted;
}
然后像这样遍历$dates
数组:
echo "<select name=\"day1\">";
foreach($dates as $key=>$value){
echo "<option value=\"$key\">$value</option>";
}
echo "</select>";
此外,如果您想创建几个这样的选择框,请将它们放在 for 循环中,如下所示:
// This will create 5 select boxes
for($i=0;$i<5;$i++){
echo "<select name=\"day$i\">";
foreach($dates as $key=>$value){
echo "<option value=\"$key\">$value</option>";
}
echo "</select>";
}
为了理解上面发生的事情,您需要了解三件事是如何工作的:
for
和foreach
循环。看这里和这里
- 该
strtotime()
功能,请参阅此处的文档
- 最后是
date()
函数,请参阅此处的文档