我有一个数组可以生成最近7天的时间戳,并且我有一个2天数组,可以在过去7天内给出特定日期的值。我想使用第一个数组填写每个键下不存在值的日子。将1d数组合并到2d数组,其中有一个匹配
$ hotel_data:
Array
(
[49] => Array
(
[1365202800] => 2
)
[48] => Array
(
)
[50] => Array
(
[1364943600] => 4
[1365375600] => 5
)
)
$ d:
Array
(
[1365375600] => 0
[1365289200] => 0
[1365202800] => 0
[1365116400] => 0
[1365030000] => 0
[1364943600] => 0
[1364857200] => 0
[1364770800] => 0
[1364688000] => 0
[1364601600] => 0
)
这是我想要使用的两个数组合并的代码:
foreach($hotel_data as $key1=>$value1) {
foreach($hotel_data[$key1] as $datekey=>$ratingval) {
foreach($d as $key2=>$value2)
{
if($datekey !== $key2) {
$hotel_data[$key1][$key2] = 0;
}
}
//echo $datekey.'<br/>';
}
}
这是结果:
Array
(
[49] => Array
(
[1365202800] => 2
[1365375600] => 0
[1365289200] => 0
[1365116400] => 0
[1365030000] => 0
[1364943600] => 0
[1364857200] => 0
[1364770800] => 0
[1364688000] => 0
[1364601600] => 0
)
[48] => Array
(
)
[50] => Array
(
[1364943600] => 0
[1365375600] => 0
[1365289200] => 0
[1365202800] => 0
[1365116400] => 0
[1365030000] => 0
[1364857200] => 0
[1364770800] => 0
[1364688000] => 0
[1364601600] => 0
)
)
但是,你可以看到,出于某种原因的[49]仍然但分别在两个值的值[50]已被替换为0。
如果它是您正在使用的语言,请将其标记为“php”。 – shinkou 2013-04-08 16:44:19
我认为这个问题是因为相同的日期出现在所有数组中? – juselliott 2013-04-08 18:02:29