2012-01-12 60 views
0

我有一個如下所示的數組,我需要檢查多維關聯數組中的重複項。我不認爲我真的需要說更多,我已經嘗試過array_unique,並且當它們明顯不是時,它恰好認爲事情是重複的。檢查多重關聯數組中的重複項

我正在尋找可以改變:

array(3) { 
    [1]=> 
    array(2) { 
    ["itself"]=> 
    string(31) "New York" 
    ["status"]=> 
    string(18) "great" 
    } 
    [2]=> 
    array(2) { 
    ["itself"]=> 
    string(36) "New York" 
    ["status"]=> 
    string(22) "great" 
    } 
    [3]=> 
    array(2) { 
    ["itself"]=> 
    string(29) "New York" 
    ["status"]=> 
    string(18) "great" 
    } 
} 

在此:

array(1) { 
    [1]=> 
    array(2) { 
    ["itself"]=> 
    string(31) "New York" 
    ["status"]=> 
    string(18) "great" 
    } 
} 

回答

2

這是一個實際的輸出,因爲字符串長度不匹配.. 。可能是一些隱藏的數據(html標籤,不可打印的字符等)?

如果不是:array_unique想要一個字符串表示:

$result = array_intersect_key(
     $input, 
     array_unique(array_map('serialize',$input))); 
+0

字符串長度是一個錯字,我改變了原來的值。這工作表示感謝! – ThomasReggi 2012-01-12 22:34:03

0
$array = array(YOUR ARRAY); 

foreach ($array as $key1 => $value1){ 
    foreach ($array as $key2 => $value2){ 
     if($array[$key1] == $array[$key2] && $key1 != $key2){ 
      unset($array[$key1]); 
     } 
    } 
}