【发布时间】:2016-05-30 10:46:45
【问题描述】:
到目前为止,我有以下代码:
$months = array();
$numJoin = date("n",strtotime($me['joinTime']));
$numLast = date('n', strtotime('Dec 31'));
$numCurrent = date("n",strtotime('2016-06-01'));
array_push($months, date("F", strtotime($me['joinTime'])));
for($i = ($numJoin + 1); $i <= $numLast; $i++) {
if($numCurrent>$numJoin) {
$dateObj = date_create_from_format('!m', $i);
array_push($months, $dateObj->format('F'));
}
$numCurrent= -1;
}
我在这里要做的是将当前月份添加到数组中,并将前几个月保存在数组中,例如:
开始月份是 -> 五月 六月开始 -> 我将六月添加到数组中(现在我应该在数组中添加五月和六月)。
七月开始 -> 我将七月添加到数组中(现在我应该在数组中添加五月、六月和七月)。
我怎样才能做到这一点?当前解决方案仅适用于 +1 个月。我不能添加超过 1 个月:/
附:只有在新月份开始时才应添加新项目,并且应保存数组的先前内容...
【问题讨论】:
-
你是几月份比较踢数组的?
-
您是否将新创建的数组保存在同一个变量中?
-
@FrayneKonok 无论这个变量中的月份是什么:$numJoin = date("n",strtotime($me['joinTime']));我从数据库中获取月份的值。这是一个存储在数据库中的加入日期......这是我在新月份开始时比较的开始月份......例如加入日期是五月-> 当六月开始时,我应该有 2 个月的时间:五月和六月
-
@perkes456,你的答案已经准备好了。