$dateRange = array('2010-01-01', '2010-01-02', '2010-01-03', ...);
$data = array('2010-01-01' => 5, '2010-01-03' => 7);
foreach ($dateRange as $date) {
$values[$date] = $data[$date];
}
$values
导致:
array (
'2010-01-01' => 5
'2010-01-02' => null
'2010-01-03' => 7
...
)
看起来相当有效,但是我想知道是否有一个简单的PHP函数可以处理此操作。
$values = array_merge(array_fill_keys($dateRange, null), $data);
,但是我想说的是更简洁,易于理解,并且不存在错误的键,而不是thrist。 :)
有$data
array_merge
1 => 2010-01-02
。 在
Http://us.php.net/manual/enual/en/ref.array.php上也有大量数组函数的主机
[eDit
]:由于链接而离开这个答案,但其他答案确切地完成了您想要的。
要在单个通过中填充所需的关联数组,当日期中没有相关值2010-01-02 => null
时,您可以使用
array_reduce()
和后备为null
值。由于此关联数组没有数字键,因此可以使用联合操作员将新元素添加到结果数组中。 demo