このような何かがうまくいくはずです(テストされていません):
// 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>";
}
上記で何が起こっているかを理解するには、次の 3 つのことがどのように機能するかを理解する必要があります。
for
とforeach
ループします。こちらとこちらをご覧ください
strtotime()
関数については、こちらのドキュメントを参照してください
- 最後に、
date()
関数については、こちらのドキュメントを参照してください