UI Dev
UI Dev

Reputation: 699

Create unique array as per one of the array element

I have the following array in PHP. Its an array of objects. I am trying to create an unique array from it.

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

So i need to create a unique array as per its element 'owner_guid' ...I tried array_unique method..but its didn't worked for me ...

How do it guys ? Any idea ?

Upvotes: 1

Views: 62

Answers (1)

FuzzyTree
FuzzyTree

Reputation: 32392

$unique = array();

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

var_dump($unique);

Upvotes: 1

Related Questions