Создайте уникальный массив в соответствии с одним из элементов массива

Вопрос:

У меня есть следующий массив в PHP. Его массив объектов. Я пытаюсь создать из него уникальный массив.

array
0 =>
object(ElggAnnotation)[1144]
protected 'attributes' =>
array
'id' => string '21705' (length=5)
'owner_guid' => string '40468' (length=5)
'access_id' => string '2' (length=1)
'time_created' => string '1406098167' (length=10)
'enabled' => string 'yes' (length=3)
private 'valid' (ElggExtender) => boolean false
1 =>
object(ElggAnnotation)[1145]
protected 'attributes' =>
array
'id' => string '21706' (length=5)
'owner_guid' => string '28715' (length=5)
'access_id' => string '2' (length=1)
'time_created' => string '1406098168' (length=10)
'enabled' => string 'yes' (length=3)
'name' => string 'scheduled' (length=9)
'value' => string 'yes' (length=3)
'type' => string 'annotation' (length=10)
private 'valid' (ElggExtender) => boolean false
2 =>
object(ElggAnnotation)[1146]
protected 'attributes' =>
array
'id' => string '21707' (length=5)
'owner_guid' => string '40468' (length=5)
'access_id' => string '2' (length=1)
'time_created' => string '1406104062' (length=10)
'enabled' => string 'yes' (length=3)
private 'valid' (ElggExtender) => boolean false
3 =>
object(ElggAnnotation)[1147]
protected 'attributes' =>
array
'id' => string '21708' (length=5)
'owner_guid' => string '28715' (length=5)
'access_id' => string '2' (length=1)
'time_created' => string '1406104062' (length=10)
'enabled' => string 'yes' (length=3)
private 'valid' (ElggExtender) => boolean false
4 =>
object(ElggAnnotation)[1148]
protected 'attributes' =>
array
'id' => string '21709' (length=5)
'owner_guid' => string '40468' (length=5)
'access_id' => string '2' (length=1)
'time_created' => string '1406104195' (length=10)
'enabled' => string 'yes' (length=3)
private 'valid' (ElggExtender) => boolean false

Поэтому мне нужно создать уникальный массив в соответствии с его элементом 'owner_guid'… Я попробовал метод array_unique но его не сработало для меня…

Как это делают ребята? Есть идеи?

Лучший ответ:
$unique = array();

foreach($objects as $object) {
    $unique[$object->owner_guid] = $object;
}

var_dump($unique);

Оцените статью
TechArks.Ru
Добавить комментарий