当前,我试图通过一个foreach循环将多个对象推入一个数组($ columnDefs)。但是,它似乎不起作用。谁能告诉我我做错了什么?
$startingYear = 2012;
$endingYear = date('Y') + 1;
$yearRange = array();
for ($i = $startingYear;$i <= $endingYear;$i++)
{
array_push($yearRange, $i);
}
$columnDefs = array(
array('headerName' => 'Category', 'field' => 'category', 'width' => 180)
);
foreach($yearRange as $year){
$columnDefs = array_merge(
$columnDefs,
array(
'headerName' => strval($year), 'field' => $year, 'width' => 120
)
);
}
答案 0 :(得分:1)
要向阵列添加新结构,您需要:
$columnDefs = array_merge(
$columnDefs,
array(
array('headerName' => strval($year), 'field' => $year, 'width' => 120)
)
);
在上面对您的代码所做的修改中,您可以看到我将您先前的columnDefs
数组与模仿columnDefs
的新起点的新数组结构合并。
如果您不告诉它是数组,它将始终覆盖以前的键(因为它确实认为它是键和值,而不是数组)
然后将开始输出:
Array (
[0] => Array ( [headerName] => Category [field] => category [width] => 180 )
[1] => Array ( [headerName] => 2012 [field] => 2012 [width] => 120 )
[2] => Array ( [headerName] => 2013 [field] => 2013 [width] => 120 )
[3] => Array ( [headerName] => 2014 [field] => 2014 [width] => 120 )
...