Comment puis-je supprimer les valeurs en double d'un tableau en PHP?
156
Comment puis-je supprimer les valeurs en double d'un tableau en PHP?
Utilisez array_unique () .
Exemple:
$array = array(1, 2, 2, 3);
$array = array_unique($array); // Array is now (1, 2, 3)
Note that array_unique() is not intended to work on multi dimensional arrays.
$array = array_unique($array, SORT_REGULAR);
Utilisation
array_values(array_unique($array));
array_unique
: pour un tableau uniquearray_values
: pour la réindexationla source
array_unique
renvoie un objet avec des paires clé et valeur ETarray_values
ne renvoie que des valeurs sous forme de tableau.la source
La seule chose qui a fonctionné pour moi est:
Edit:
SORT_REGULAR
conserve le même ordre du tableau d'origine.la source
la source
parfois, ce
array_unique()
n'est pas le cas, si vous voulez obtenir des éléments uniques ET dupliqués ...résultats sur
la source
Nous pouvons créer un tel type de tableau pour utiliser cette dernière valeur qui sera mise à jour en colonne ou en valeur clé et nous obtiendrons une valeur unique du tableau ...
la source
explode(",", implode(",", array_unique(explode(",", $YOUR_ARRAY))));
Cela prendra en charge les associations de clés et sérialisera les clés pour le nouveau tableau résultant :-)
la source
explode("," $YOUR_ARRAY)
quand$YOUR_ARRAY
estarray("1", "2", "3")
?En fonction de la taille de votre tableau, j'ai trouvé
peut être plus rapide que array_unique.
la source
C'est une excellente façon de le faire. Vous voudrez peut-être vous assurer que sa sortie est à nouveau un tableau. Désormais, vous n'affichez que la dernière valeur unique.
Essaye ça:
la source
première fois vérifier la valeur dans le tableau et trouver la même valeur l'ignorer
la source
Supprimez les valeurs en double d'un tableau associatif en PHP.
Tableau ([0] => aaa-aaa [1] => 12/1/1 [2] => 1,15)
la source
Il peut y avoir plusieurs façons de procéder, qui sont les suivantes
la source
Si vous êtes préoccupé par les performances et avez un tableau simple, utilisez:
C'est plusieurs fois plus rapide que array_unique.
la source
la source
la source
la source
essayez ce code court et doux -
Production -
la source
if
.la source
Ici, j'ai créé un deuxième tableau vide et utilisé une
for
boucle avec le premier tableau qui a des doublons. Il s'exécutera autant de fois que le nombre du premier tableau. Ensuite, comparé à la position du tableau avec le premier tableau et correspond au fait qu'il a déjà cet élément ou non en utilisantin_array
. Sinon, il ajoutera cet élément au deuxième tableau avecarray_push
.la source
foreach
boucle?foreach
parce que je suis très à l'aise avec la boucle for. C'est tout.Cela peut être fait grâce à la fonction J'ai fait trois fonctions dupliquées renvoyant les valeurs qui sont dupliquées dans le tableau.
La deuxième fonction simple ne renvoie que les valeurs qui sont simples signifie non répétées dans le tableau et la troisième et la fonction complète renvoient toutes les valeurs mais non dupliquées si une valeur est dupliquée, elle la convertit en simple;
la source
ref: Démo
la source
Une alternative à la fonction array_unique ().
Utilisation de l'algorithme de force brute
la source
J'ai fait cela sans utiliser aucune fonction.
la source