Немного грязное решение, но я думаю, что оно уместно.Часть кода, иллюстрирующая общую идею:
$date1 = '2011-12-19';
$date2 = '2011-12-20';
$date3 = '2011-12-21';
$array1 = array($date1=>array('res1'=>'asdasdasd'),$date2=>array('res1'=>'qweqweqweqwe'));
$array2 = array($date1=>array('res2'=>'123123123'),$date3=>array('res2'=>'456456456'));
$res = array_merge_recursive($array1,$array2);
var_dump($res);
Итак, идея состоит в том, чтобы ваши массивы хранили данные в элементах с уникальными ключами, а затем использовали array_merge_recursive
для сбора всех этих данных.Итак, чтобы это заработало, вам нужно предварительно обработать ваши данные примерно так:
$arr = array($date1=>'qweqwe', $date2=>'asdasd');
foreach($arr as $key=>$value){
$arr[$key]=array('<unique source name here>'=>$value);
}