Maison  >  Article  >  développement back-end  >  Code de méthode PHP pour implémenter la déduplication de tableau

Code de méthode PHP pour implémenter la déduplication de tableau

小云云
小云云original
2018-02-03 10:50:412799parcourir

Cet article présente principalement comment implémenter rapidement la déduplication de tableau dans la programmation PHP. Il analyse la fonction de déduplication de tableau PHP et les techniques d'utilisation sous forme d'exemples. J'espère que cela pourra aider tout le monde.

Vue d'ensemble

L'utilisation de la fonction array_unique() de PHP vous permet de transmettre un tableau, puis de supprimer les valeurs en double et de renvoyer un tableau de valeurs unique . Cette fonction fonctionne bien la plupart du temps. Cependant, si vous essayez d'utiliser la fonction array_unique() sur un grand tableau, elle s'exécutera plus lentement.

Il existe une fonction meilleure et plus rapide array_flip() au lieu d'utiliser la fonction array_unique() pour créer des tableaux uniques. Cette fonction magique échangera la clé et la valeur de chaque élément du tableau, car la valeur de la clé doit être unique, vous obtiendrez donc le même résultat que la fonction array_unique().

Un moyen plus rapide de dédupliquer les tableaux PHP


/* 创建一个包含重复值的,一共四个元素的数组 */
$array = array('green','blue','orange','blue');
/* 翻转数组,你将会得到唯一键值的数组
array('green'=>0,'blue'=>1,'orange'=>2); */
$array = array_flip($array);
/* 然后再翻转一次,将键和值重新放置,然后得到数组:array(0=>'green',1=>'blue',2=>'orange'); */
$array = array_flip($array);

Comme nous avons supprimé certains éléments, le tableau ne ressemble pas à une séquence normale. Par exemple, nous pourrions obtenir :


array(0=>'A',2=>'B',5=>'C');

Dans certains cas, ce n'est pas un problème, mais si vous avez besoin des clés du tableau pour maintenir une séquence de nombres, vous peut utiliser une ou deux méthodes pour résoudre le problème du désordre des valeurs clés.

Utilisez array_merge pour réparer les clés du tableau

La fonction après l'ajout de array_flip triera les clés du tableau et les restaurera dans la séquence normale, telle que : 0,1,2, 3 …


$array = array('green','blue','orange','blue');
$array = array_flip($array);
$array = array_flip($array);
/* 使用array_merge()函数修复键值*/
$array = array_merge($array);

La deuxième façon consiste à utiliser array_keys

Notez que cette méthode de réparation de la valeur de la clé du tableau est meilleure que l'utilisation. la fonction array_merge() Un peu plus rapide. Vous pouvez également la combiner avec la fonction array_keys() dans la dernière étape (cette fonction renvoie la valeur inversée). Ensuite, lorsque vous retournez les valeurs dans le tableau, les clés sont créées dans l'ordre.


$array = array('green','blue','orange','blue');
$array = array_flip($array);
/* 跟第一个例子一样,但是现在我们先提取数组的键值 */
$array = array_keys($array);

Recommandations associées :

Analyse de la méthode simple JS pour implémenter la déduplication de tableau

Explication détaillée de l'implémentation simple par jQuery des opérations de déduplication et de tri de tableaux

Déduplication de tableau efficace de PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn