6
votes

Comment supprimer des duplicats dans un tableau?

Comment puis-je supprimer des doublons dans le tableau?

Par exemple, si j'avais le tableau suivant: p> xxx pré>

Je veux que cela devienne p>

$array = array('2','3');


2 commentaires

php.net/array_count_values ​​ <- J'essaierais d'écrire quelque chose avec cette fonction. Il compte au moins combien de fois une valeur a été utilisée. Joliment clé.


Découvrez Stackoverflow.com/Questtions/369602/...


5 Réponses :


2
votes

Essayez ce code, xxx

sortie xxx


0 commentaires

2
votes

PHP offre autant Fonctions de tableau , il suffit de les combiner: xxx

référence: array_keys , array_filter , array_count_values ​​

démo


0 commentaires

4
votes

Vous pouvez les filtrer en utilisant array_count_values ​​() code> :

$array = array('1','1','2','3');
$res = array_keys(array_filter(array_count_values($array), function($freq) {
    return $freq == 1;
}));


0 commentaires

4
votes

Selon la version PHP, cela devrait fonctionner dans toutes les versions de PHP> = 4.0.6 car elle ne nécessite pas de fonctions anonymes nécessitant PHP> = 5.3:

function moreThanOne($val) {
    return $val < 2;
}


$a1 = array('1','1','2','3');
print_r(array_keys(array_filter(array_count_values($a1), 'moreThanOne')));


5 commentaires

Les fonctions anonymes ont été introduites dans 5.3


Bon point, afin de modifier le "non seulement php 5.4", ce sera "pour PHP> 4.0.6" ^^


Cela fonctionnerait dans 4.0.6 aussi, ce qui est lorsque array_filter a été introduit :)


+1 bonne utilisation des fonctions PHP natif. Bien expliqué et une démo.


Grr @jack = p lol, encore une fois, bon point, peut être trop fatigué pour créer des exigences de version pour le code. =]



2
votes

Supprimez les valeurs en double à partir d'un tableau.

 array_unique($array)

 $array = array(4, "4", "3", 4, 3, "3");
 $result = array_unique($array);
 print_r($result);

 /*
   Array
   (
      [0] => 4
      [2] => 3
   )
  */


0 commentaires