It is a little dirty, but it works.
<?php $arr1 = array( array("uid" => "cgajate", "date" => 20120918), array("uid" => "badrock5", "date" => 20120920), array("uid" => "ricoetc", "date" => 20120921), array("uid" => "ricoetc1", "date" => 20120923), array("uid" => "darbyfired", "date" => 20120922), array("uid" => "sagers.andrew", "date" => 20120922), array("uid" => "frankfurt9", "date" => 20120923), array("uid" => "beachboys", "date" => 20120923), array("uid" => "panterafan", "date" => 20120923), array("uid" => "kingsxrules", "date" => 20120923), array("uid" => "richard.bitto", "date" => 20120924), array("uid" => "christopher.boss", "date" => 20120925), array("uid" => "eric.robinson2", "date" => 20120926)); $arr2 = Array( array("uid" => "cgajate", "date" => 20120919), array("uid" => "ricoetc", "date" => 20120921), array("uid" => "ricoetc1", "date" => 20120922), array("uid" => "frankfurt9", "date" => 20120923), array("uid" => "beachboys", "date" => 20120923), array("uid" => "panterafan", "date" => 20120923), array("uid" => "kingsxrules", "date" => 20120923), array("uid" => "eric.robinson2", "date" => 20120926)); function flatten ($arr) { $new_arr = array (); foreach ($arr as $sub_arr) { $new_arr[$sub_arr["uid"]] = $sub_arr["date"]; } return $new_arr; } $flat_arr1 = flatten ($arr1); $flat_arr2 = flatten ($arr2); $arr3 = array (); foreach ($flat_arr1 as $key=>$value) { if (isset ($flat_arr2[$key])) { $value = $flat_arr1[$key] > $flat_arr2[$key] ? $flat_arr1[$key] : $flat_arr2[$key]; } $arr3[$key] = $value; } foreach ($flat_arr2 as $key=>$value) { if (isset ($flat_arr1[$key])) { $value = $flat_arr1[$key] > $flat_arr2[$key] ? $flat_arr1[$key] : $flat_arr2[$key]; } $arr3[$key] = $value; } ?> <pre><?php print_r($flat_arr1); ?></pre> <pre><?php print_r($flat_arr2); ?></pre> <pre><?php print_r($arr3); ?></pre>
source share