2014-05-21 3 views
1

print_r ($ jobtypes) me donne un tableau. Le tableau contient des éléments en double. Je veux supprimer les doublons. Voici un tableauSupprimer les doublons du tableau multidimensionnel

   Array 
(
    [0] => stdClass Object 
     (
      [term_id] => 40 
      [name] => Babysitting 
      [slug] => babysitting 
      [term_group] => 0 
      [term_taxonomy_id] => 40 
      [taxonomy] => job_listing_type 
      [description] => 
      [parent] => 0 
      [count] => 3 
     ) 

    [1] => stdClass Object 
     (
      [term_id] => 43 
      [name] => Lawn Mowing 
      [slug] => lawn-mowing 
      [term_group] => 0 
      [term_taxonomy_id] => 43 
      [taxonomy] => job_listing_type 
      [description] => 
      [parent] => 0 
      [count] => 3 
     ) 

    [2] => stdClass Object 
     (
      [term_id] => 39 
      [name] => Leaf Raking 
      [slug] => leaf-raking 
      [term_group] => 0 
      [term_taxonomy_id] => 39 
      [taxonomy] => job_listing_type 
      [description] => 
      [parent] => 0 
      [count] => 2 
     ) 

    [3] => stdClass Object 
     (
      [term_id] => 41 
      [name] => Pet Sitting 
      [slug] => pet-sitting 
      [term_group] => 0 
      [term_taxonomy_id] => 41 
      [taxonomy] => job_listing_type 
      [description] => 
      [parent] => 0 
      [count] => 3 
     ) 

    [4] => stdClass Object 
     (
      [term_id] => 42 
      [name] => Plant Watering 
      [slug] => plant-watering 
      [term_group] => 0 
      [term_taxonomy_id] => 42 
      [taxonomy] => job_listing_type 
      [description] => 
      [parent] => 0 
      [count] => 2 
     ) 

    [5] => stdClass Object 
     (
      [term_id] => 44 
      [name] => Snow Shoveling 
      [slug] => snow-shoveling 
      [term_group] => 0 
      [term_taxonomy_id] => 44 
      [taxonomy] => job_listing_type 
      [description] => 
      [parent] => 0 
      [count] => 5 
     ) 

    [6] => stdClass Object 
     (
      [term_id] => 40 
      [name] => Babysitting 
      [slug] => babysitting 
      [term_group] => 0 
      [term_taxonomy_id] => 40 
      [taxonomy] => job_listing_type 
      [description] => 
      [parent] => 0 
      [count] => 3 
      [filter] => raw 
     ) 

) 

Comment supprimer les doublons. I ce cas

[name] => Babysitting 
       [slug] => babysitting 
       [term_group] => 0 
       [term_taxonomy_id] => 40 
       [taxonomy] => job_listing_type 
       [description] => 
       [parent] => 0 
       [count] => 3 
       [filter] => raw 

est deux fois. J'ai utilisé

$jobtypes= array_map("unserialize", array_unique(array_map("serialize", $jobtypes))); 

mais ne fonctionnait pas. merci

+0

Quelle est la langue? Ajouter un tag s'il vous plait – zishe

+0

son langage php – Riz

+0

D'où viennent les données? Si elle provient d'une base de données, vous devez écrire votre requête afin que les doublons ne soient pas inclus dans le résultat. Aussi, avez-vous [utilisé la recherche] (https://stackoverflow.com/search?q=%5Bphp%5D+array+remove+duplicates) avant de demander? Il y a beaucoup de [questions] (https://stackoverflow.com/questions/3579749/removing-duplicates-from-an-array) qui demandent essentiellement la même chose. –

Répondre

2

Vous pouvez faire une structure de boucle manuelle à la recherche de non -existence de chaque term_id dans un tableau unique, et si ce n'est pas là, puis ajoutez-le.

Dans cet exemple, j'utilise le term_id comme clé de tableau pour faciliter la recherche pendant la boucle.

$unique = array(); 
foreach($your_array as $key => $value) { 
    // look for non-existance of term_id in $unique array (as key) 
    if(!array_key_exists($value->term_id, $unique)) { 
     // add to unique array 
     $unique[$value->term_id] = $value; 
    } 
} 

Une fois que vous avez créé un tableau contenant des objets uniques, vous pouvez réinitialiser les clés du tableau et attribuer le tableau unique de retour au tableau d'origine comme ceci:

// reset array keys by assigning values to original array 
$your_array = array_values($unique); 
+0

a travaillé exactement ce que je veux. Merci – Riz

Questions connexes