在PHP中获得月份和日期下拉列表的最佳方法是什么?
我尝试了以下代码,但mktime
贬值了:
for ($j = 1; $j <= 12; $j++)
{
$month_text = date("F", time(0, 0, 0, $j+1, 0, 0, 0));
$month[$j] = $month_text;
}
谢谢。
你把事情弄得太复杂了。只需将月份的名称放在数组中,并使用range()
创建天数数组。
$months = array("January","February","March","April","May","June","July","August","September","October","November","December");
$days = range(1, 31);
如果您希望月份号与月份名称一致,只需在月份数组的开头添加一个空数组元素。
以前有人问过这个问题:如何在下拉列表中显示所有的日期、月份和年份?
这就是他所做的,但请记住,他确实使用了mktime,正如你所说的是不赞成的。要避免列出一年的清单,可以这样做:
<?php
// build months menu
echo '<select name="month">' . PHP_EOL;
for ($m=1; $m<=12; $m++) {
echo ' <option value="' . $m . '">' . date('M', mktime(0,0,0,$m)) . '</option>' . PHP_EOL;
}
echo '</select>' . PHP_EOL;
// build days menu
echo '<select name="day">' . PHP_EOL;
for ($d=1; $d<=31; $d++) {
echo ' <option value="' . $d . '">' . $d . '</option>' . PHP_EOL;
}
echo '</select>' . PHP_EOL;
?>