You could read each array into 3rd array where the index is the date:
<?php
function byDate($arr, &$result)
{
foreach($arr as $row)
{
$date = $row['date'];
foreach($row as $ix => $val)
{
$result[$date][$ix] = $val;
}
}
}
$arr1 = array(
Array ('id' => '347594', 'name' => 'Charls Brown', 'date' => '2009-03-23', 'punch_in' => '09:32', 'punch_out' => '11:55'),
Array ('id' => '347595', 'name' => 'Charls Brown', 'date' => '2009-03-24', 'punch_in' => '08:00', 'punch_out' => '11:55'),
Array ('id' => '347596', 'name' => 'Charls Brown', 'date' => '2009-03-25', 'punch_in' => '07:59', 'punch_out' => '11:59'),
Array ('id' => '347597', 'name' => 'Charls Brown', 'date' => '2009-03-26', 'punch_in' => '07:58', 'punch_out' => '11:55'),
Array ('id' => '347598', 'name' => 'Charls Brown', 'date' => '2009-03-30', 'punch_in' => '08:09', 'punch_out' => '11:55'),
Array ('id' => '347599', 'name' => 'Charls Brown', 'date' => '2009-03-31', 'punch_in' => '08:04', 'punch_out' => '11:55')
);
$arr2 = array(
Array ('id' => '228996', 'name' => 'Charls Brown', 'date' => '2009-03-16', 'sched_in' => '8:00', 'sched_out' => '12:00'),
Array ('id' => '229031', 'name' => 'Charls Brown', 'date' => '2009-03-17', 'sched_in' => '8:00', 'sched_out' => '12:00'),
Array ('id' => '229032', 'name' => 'Charls Brown', 'date' => '2009-03-18', 'sched_in' => '8:00', 'sched_out' => '12:00'),
Array ('id' => '229033', 'name' => 'Charls Brown', 'date' => '2009-03-19', 'sched_in' => '8:00', 'sched_out' => '12:00'),
Array ('id' => '229329', 'name' => 'Charls Brown', 'date' => '2009-03-23', 'sched_in' => '8:00', 'sched_out' => '12:00'),
Array ('id' => '229364', 'name' => 'Charls Brown', 'date' => '2009-03-24', 'sched_in' => '8:00', 'sched_out' => '12:00'),
Array ('id' => '229365', 'name' => 'Charls Brown', 'date' => '2009-03-25', 'sched_in' => '8:00', 'sched_out' => '12:00'),
Array ('id' => '229366', 'name' => 'Charls Brown', 'date' => '2009-03-26', 'sched_in' => '8:00', 'sched_out' => '12:00'),
Array ('id' => '229706', 'name' => 'Charls Brown', 'date' => '2009-03-30', 'sched_in' => '8:00', 'sched_out' => '12:00'),
Array ('id' => '229741', 'name' => 'Charls Brown', 'date' => '2009-03-31', 'sched_in' => '8:00', 'sched_out' => '12:00')
);
$result = array();
byDate($arr1, $result);
byDate($arr2, $result);
echo "<pre>".print_r($result,1)."</pre>";
Result:
Array
(
[2009-03-23] => Array
(
[id] => 229329
[name] => Charls Brown
[date] => 2009-03-23
[punch_in] => 09:32
[punch_out] => 11:55
[sched_in] => 8:00
[sched_out] => 12:00
)
[2009-03-24] => Array
(
[id] => 229364
[name] => Charls Brown
[date] => 2009-03-24
[punch_in] => 08:00
[punch_out] => 11:55
[sched_in] => 8:00
[sched_out] => 12:00
)
[2009-03-25] => Array
(
[id] => 229365
[name] => Charls Brown
[date] => 2009-03-25
[punch_in] => 07:59
[punch_out] => 11:59
[sched_in] => 8:00
[sched_out] => 12:00
)
[2009-03-26] => Array
(
[id] => 229366
[name] => Charls Brown
[date] => 2009-03-26
[punch_in] => 07:58
[punch_out] => 11:55
[sched_in] => 8:00
[sched_out] => 12:00
)
[2009-03-30] => Array
(
[id] => 229706
[name] => Charls Brown
[date] => 2009-03-30
[punch_in] => 08:09
[punch_out] => 11:55
[sched_in] => 8:00
[sched_out] => 12:00
)
[2009-03-31] => Array
(
[id] => 229741
[name] => Charls Brown
[date] => 2009-03-31
[punch_in] => 08:04
[punch_out] => 11:55
[sched_in] => 8:00
[sched_out] => 12:00
)
[2009-03-16] => Array
(
[id] => 228996
[name] => Charls Brown
[date] => 2009-03-16
[sched_in] => 8:00
[sched_out] => 12:00
)
[2009-03-17] => Array
(
[id] => 229031
[name] => Charls Brown
[date] => 2009-03-17
[sched_in] => 8:00
[sched_out] => 12:00
)
[2009-03-18] => Array
(
[id] => 229032
[name] => Charls Brown
[date] => 2009-03-18
[sched_in] => 8:00
[sched_out] => 12:00
)
[2009-03-19] => Array
(
[id] => 229033
[name] => Charls Brown
[date] => 2009-03-19
[sched_in] => 8:00
[sched_out] => 12:00
)
)