在PHP中合并数组的更有效方法?

时间:2010-12-01 23:00:55

标签: php arrays merge

这就是我正在做的事情:

$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函数可以处理这个。

2 个答案:

答案 0 :(得分:9)

$values = array_merge(array_fill_keys($dateRange, null), $data);

是否真的只有高效才能通过测试找到,但我会说它更简洁,易于理解,它不会抛出错误对于$data中不存在的密钥。 :)

答案 1 :(得分:1)

array_merge但它会产生1 => 2010-01-02而不是2010-01-02 => null

http://us.php.net/manual/en/ref.array.php

还有许多数组函数

[编辑]:由于链接而留下这个答案,但另一个答案完全符合您的要求。