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));
}

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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...