2013-11-24 3 views
0

У меня есть массив в PHP, как это:Удалить дубликаты в массиве на основе конкретной области

[{"pos"=0,"name"="Tom"},{"pos"=1,"name"="John"},{"pos"=2,"name"="Tom"}]

Я хочу, чтобы удалить дубликаты в этом массиве на основе «имени». Другими словами, я хочу, чтобы получить массив так:

[{"pos"=0,"name"="Tom"},{"pos"=1,"name"="John"}]

Как мы можем это сделать?

ответ

1
$unique = array(); 
$arr = array_filter($arr, function($v) use(&$unique){ 
    $inArray = in_array($v->name, $unique); 
    if(!$inArray) $unique[] = $v->name; 
    return !$inArray; 
}); 

demo

+0

http://us3.php.net/function.array-unique – crafter

+0

@crafter удачи с этим ... – Emissary

Смежные вопросы