使用PHP,以这种格式给出一个月:10月 - 10月11日 - 11月,我将如何填充一个数组,其中键代表给定月份的每一天。
所以,
例如2月你有一个带1-28键的数组。
答案 0 :(得分:14)
您可以使用此功能:
function dates_month($month, $year) {
$num = cal_days_in_month(CAL_GREGORIAN, $month, $year);
$dates_month = array();
for ($i = 1; $i <= $num; $i++) {
$mktime = mktime(0, 0, 0, $month, $i, $year);
$date = date("d-M-Y", $mktime);
$dates_month[$i] = $date;
}
return $dates_month;
}
echo"<pre>";
print_r(dates_month(2, 2012));
echo"</pre>";
答案 1 :(得分:2)
$date = '02 February';
$days = array_fill_keys(
range(1, date('t', gmmktime(0, 0, 0, (integer) $date, 1))),
NULL
);
今年的假设(其他二月可能是28或29)
答案 2 :(得分:1)
cal_days_in_month - 返回给定年份和日历的一个月天数
int cal_days_in_month ( int $calendar , int $month , int $year )
<强>例如强>
$date = '02 February';
list($month, $monthname) = split(' ', $date);
$num = cal_days_in_month(CAL_GREGORIAN, intval($month), 2012); //$num = 29
使用$num