웹프로그래머 금승훈님의 지식베이스 입니다.

//중복삭제하고, 배열 합치기
 function array_remake($item, $key)
 {
  global $remake_item,$remake_key;

  if($remake_key) $remake_key.="^";
  $remake_key.=$key;
 
  for($i=0;$i<count($item);$i++)
  {
   if($remake_item[$i]) $remake_item[$i].="^";
   $remake_item[$i].=$item[$i];
  }
 }

 function array_merge_unique($array1, $array2)
 {
  global $remake_item,$remake_key;

  array_walk(array_merge_recursive($array1,$array2), 'array_remake');
  $remake_item=array_reverse(array_unique($remake_item));
  $remake_key_array=explode("^",$remake_key);

  while($temp_item=array_pop($remake_item))
  {   
   $item=explode("^",$temp_item);
   for($i=0;$i<count($remake_key_array);$i++)
   {  
    $return_unique_array[$remake_key_array[$i]][]=$item[$i];
   }
  }
  $remake_item=null;
  $remake_key=null;
  return $return_unique_array;  
 }
 
 사용법
$merge_array=array_merge_unique($array1, $array2);


Comment +0