Un moyen plus rapide d'implémenter la déduplication de tableau en PHP

高洛峰
Libérer: 2023-03-04 20:02:02
original
1132 Les gens l'ont consulté

Présentation

L'utilisation de la fonction array_unique() de PHP vous permet de transmettre un tableau, puis de supprimer les valeurs en double, renvoyant un tableau avec des valeurs uniques. 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 array_flip() meilleure et plus rapide au lieu d'utiliser la fonction array_unique() pour créer un tableau unique. Cette fonction magique échangera la clé et la valeur de chaque élément du tableau. Puisque la valeur de la clé doit être unique, vous obtiendrez le même résultat que la fonction array_unique().

Un moyen plus rapide de dédupliquer des 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);
Copier après la connexion

Comme nous avons supprimé certains éléments, le tableau ne ressemble pas à une séquence normale. Par exemple, nous pouvons obtenir : array(0=>'A',2=>'B',5=>'C');. Dans certains cas, ce n'est pas un problème, mais si vous avez besoin que les clés du tableau restent dans l'ordre numérique, vous pouvez utiliser une ou deux méthodes pour résoudre le problème du désordre des valeurs des clés.

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

La fonction après l'ajout de array_flip triera les valeurs clés​​du tableau et les restaurera à la normale séquence, 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);    
Copier après la connexion

Deuxième façon, utilisez array_keys

Notez que cette méthode de réparation des valeurs des clés de tableau est légèrement plus rapide que d'utiliser un peu la fonction array_merge(). Vous pouvez également utiliser 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);
Copier après la connexion

Conclusion

C'est très simple par rapport à l'utilisation de la fonction array_unique dans de grands tableaux, il y a une amélioration efficace des performances.

Pour plus d'articles liés à la mise en œuvre plus rapide de la déduplication de tableau PHP, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!