微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP:使用接下来12个月的名称填充数组

for($x=0; $x<12; $x++)
{
    $month = mktime(0,date("m")+$x,date("d"),date("Y"));
    $key = date('m',$month);
    $monthname = date('F',$month);
    $months[$key] = $monthname;
}

我知道我确实错误地为mktime的第4个参数做了数学运算.我从当前月份数字(7月7月)开始,下个月每个月增加1,有时最终会导致同月返回两次,可能是因为我没有将它设置为月初?你会如何改进/重新编码?

结果是$months将产生一个阵列,其中07 = 7月08 = 8月,09 = 9月.现在它填满了10月两次.我认为这与今天的第31次有关,它错误添加到下个月.

只是稍微修改了你的代码,这应该工作得很好:
$months = array();
$currentMonth = (int)date('m');

for ($x = $currentMonth; $x < $currentMonth + 12; $x++) {
    $months[] = date('F',mktime(0,$x,1));
}

请注意,我拿出了数组键,因为我认为这是不必要的,但如果需要,你可以改变它.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐