1. 程式人生 > >PHP 二維陣列的合併與去重

PHP 二維陣列的合併與去重

思路:建一個新陣列,把陣列的值設定為鍵,儲存到新陣列,然後判斷後面的是否有相同的值,有去掉(unsettle()),沒有則存入新陣列。因為儲存的新陣列是以九陣列值為鍵的新陣列,所以最後重置一下新陣列的鍵(key)。
/* 
 *  合併兩個陣列,並去重
 *  
 *  @param array $arr  陣列 
 *
 *  @param array $arr1  陣列 
 *
 *  @param array $arr2  陣列
 * 
* @return array $people 陣列 * */function people($arr1,$arr2){ $sql=array_merge($arr1, $arr2); $res = array(); foreach ($sql as $value)
 { //檢視有沒有重複項 if(isset($res[$value['name']]))
{ //有:銷燬 unset($value['name']); } else
{ $res[$value['name']] = $value; } } $people=array(); foreach($res as $key=>$value){ $people[]=$value; } return $people;}  
$arr_out =array();  
        foreach($c as $k => $v){  
            $key_out = $v['name']."-".$v['phone']; //提取內部一維陣列的key(name age)作為外部陣列的鍵  
  			
  			p($key_out);
	        p($arr_out);
  			
  			if(array_key_exists($key_out,$arr_out)){  
                continue;  
            }else{  
	            $arr_out[$key_out] = $c[$k]; //以key_out作為外部陣列的鍵  
	            
	            $arr_wish[$k] = $c[$k];  //實現二維陣列唯一性  
	        }  
	    }