Maison > Article > développement back-end > Analyse de la mise en œuvre plus rapide de la déduplication de tableau PHP
Cet article présente principalement la mise en œuvre plus rapide de la déduplication de tableau en PHP, et compare et analyse diverses techniques de fonctionnement courantes et précautions pour la déduplication de tableau PHP sous forme d'exemples. Les amis dans le besoin peuvent s'y référer
Le. L'exemple de cet article décrit une implémentation plus rapide de la déduplication de tableau PHP. Partagez-le avec tout le monde pour votre référence, comme suit :
Vue d'ensemble
L'utilisation de la fonction array_unique()
de PHP vous permet de transmettre un tableau puis move Supprimez les valeurs en double et renvoyez 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 meilleure et plus rapide array_flip()
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, car la valeur de la clé doit être unique, vous obtiendrez donc le même résultat que la fonction array_unique()
.
Code 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); print_r($array)
Résultat de l'exécution :
Array ( [0] => green [3] => blue [2] => orange )
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 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 clés du tableau et les restaurera dans la séquence normale, par exemple comme :0,1,2,3…
Code PHP :
$array = array('green','blue','orange','blue'); $array = array_flip($array); $array = array_flip($array); /* 使用array_merge()函数修复键值*/ $array = array_merge($array); print_r($array)
Le résultat d'exécution est le même que ci-dessus
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 l'utilisation de la fonction array_merge()
. 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.
Code PHP :
$array = array('green','blue','orange','blue'); $array = array_flip($array); /* 跟第一个例子一样,但是现在我们先提取数组的键值 */ $array = array_keys($array); print_r($array)
Les résultats d'exécution sont les mêmes que ci-dessus
Conclusion
est très simple Par rapport à l'utilisation de la fonction array_unique
sur de grands tableaux, elle présente une amélioration efficace des performances.
Recommandations associées :
Fonctions liées aux tableaux et chaînes PHP
Explication détaillée de la fonction de tri des tableaux PHP, fonction array_multisort()
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!