我有一个类似下面的数组,我需要检查多维关联数组中的重复项。我不认为我真的需要说更多,我已经尝试过了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"
}
}
答案 0 :(得分:2)
这是一个实际的输出,因为字符串长度不匹配...可能是一些隐藏的数据(html标签,不可打印的字符等)?
如果不是:array_unique想要一个字符串表示:
$result = array_intersect_key(
$input,
array_unique(array_map('serialize',$input)));
答案 1 :(得分: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]);
}
}
}