過去 7 日間のタイムスタンプを生成する配列があり、過去 7 日間の特定の日に値を与える 2 次元配列があります。最初の配列を使用して、各キーの下に値が存在しない日を埋めたいと考えています。
$hotel_data:
Array
(
[49] => Array
(
[1365202800] => 2
)
[48] => Array
(
)
[50] => Array
(
[1364943600] => 4
[1365375600] => 5
)
)
$日:
Array
(
[1365375600] => 0
[1365289200] => 0
[1365202800] => 0
[1365116400] => 0
[1365030000] => 0
[1364943600] => 0
[1364857200] => 0
[1364770800] => 0
[1364688000] => 0
[1364601600] => 0
)
2つの配列をマージするために使用しようとしているコードは次のとおりです。
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] にあった 2 つの値は 0 に置き換えられています。