我正在循环显示当月的一系列天数,以生成当天或之后的另一个天数。然后我需要将其合并到我认为是多维数组(之前没有使用过这些类型的数组)中。这是我的代码,它生成每月的日期,并将每个日期与当前日期进行比较,以获得我的初始数组:
// Set the default timezone
date_default_timezone_set('Australia/Sydney');
$today = date("j");
$firstDayCurrentMonth = date("Y-m-01");
// Get number of days in current month
$days = date("t");
// echo $days;
// Get array of all dates in current month
$aDates = array();
$oStart = new DateTime($firstDayCurrentMonth);
$oEnd = clone $oStart;
$oEnd->add(new DateInterval("P1M"));
while($oStart->getTimestamp() < $oEnd->getTimestamp()) {
$aDates[] = $oStart->format('j');
$oStart->add(new DateInterval("P1D"));
}
// Setup days array
$days = array();
// Generate $linked_days array to feed into calendar files
foreach($aDates as $date) {
if($date >= $today) {
$days[] = $date;
}
}
到目前为止,这一切都运行良好 - 我现在需要将这一天数组合成这种格式的数组:
array("year" => array("month" => array(days)));
例如,对于2013年12月2日,它将如下所示:
$allDays = array("2013" => array("12" => array(2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31)));
我不确定如何将我的数组插入大型多维数组?
答案 0 :(得分:2)
访问多维数组可以使用嵌套的[],例如:
$allDays['2013']['12'] = array(...);
我的代码可能有一个更简单的代码:
<?php
$day = '2nd Dec, 2013';
$i = strtotime($day);
array("year" => array("month" => array(days)));
$allDays = array(
date('Y', $i) => array(
date('m') => range(date('d', $i), intval(date('t'))),
),
);
var_dump($allDays);
希望这对你有所帮助。