Maison  >  Article  >  développement back-end  >  Comment supprimer les doublons d'un tableau en php (sans utiliser de fonctions)

Comment supprimer les doublons d'un tableau en php (sans utiliser de fonctions)

PHPz
PHPzoriginal
2023-04-26 09:14:52394parcourir

Dans le développement PHP, nous rencontrons souvent des scénarios où nous devons dédupliquer des tableaux. Habituellement, nous pouvons utiliser la fonction array_unique pour y parvenir. Cependant, comment réaliser la déduplication de tableau sans utiliser de fonctions ? Cet article explique comment utiliser les boucles pour réaliser la déduplication de tableaux.

Méthode 1 : Utiliser des boucles pour implémenter la déduplication de tableau

Le processus d'implémentation spécifique est le suivant :

<?php
//定义测试数组
$arr = array(1,2,3,2,1,4,5,4,6);
$count = count($arr);
//循环遍历数组
for ($i=0; $i<$count; $i++) {
 //从第i个元素之后循环判断是否有相同值
 for ($j=$i+1; $j<$count; $j++) {
  //如果有相同值,则删除当前元素
  if ($arr[$i] == $arr[$j]) {
   array_splice($arr, $j, 1); //使用array_splice函数删除元素
   //因为删除元素后,数组长度发生了变化,需要重新计算数组长度
   $count = count($arr);
   $j--; //指针向前移动,避免遗漏元素
  }
 }
}
//打印去重后的数组
print_r($arr);
?>

Dans le code ci-dessus, nous utilisons un Boucle for pour dédupliquer le tableau Traverse, pour chaque élément, utilisez une boucle for pour parcourir les éléments après l'élément afin de déterminer s'ils ont la même valeur. Si tel est le cas, utilisez la fonction array_splice pour supprimer les éléments en double et recalculez la longueur du tableau et la position du pointeur pour éviter les éléments manquants.

Méthode 2 : Utiliser les fonctions de base pour implémenter la déduplication de tableau

En plus d'utiliser la méthode de boucle, nous pouvons également utiliser les fonctions de base de PHP pour implémenter la déduplication de tableau. Le processus d'implémentation spécifique est le suivant :

<?php
//定义测试数组
$arr = array(1,2,3,2,1,4,5,4,6);
//使用array_keys函数获取数组中每个元素的键值
$keys = array_keys($arr);
//使用array_values函数获取数组中每个元素的值
$values = array_values($arr);
//使用array_unique函数对values数组进行去重
$values = array_unique($values);
//使用array_combine函数将keys数组和去重后的values数组重新组成一个数组
$arr = array_combine($keys, $values);
//打印去重后的数组
print_r($arr);
?>

Dans le code ci-dessus, nous utilisons d'abord les fonctions array_keys et array_values ​​​​​​pour obtenir respectivement la clé et la valeur de chaque élément du tableau, et utilisons le array_unique fonction pour dédupliquer le tableau de valeurs, puis utilisez ensuite la fonction array_combine pour recombiner le tableau de clés et le tableau de valeurs dédupliqués dans un nouveau tableau. Bien que cette méthode soit relativement simple, s'il y a de nombreux éléments, elle peut entraîner une utilisation élevée de la mémoire et les performances ne sont pas aussi bonnes que la méthode en boucle.

Résumé :

La déduplication de tableaux est un problème souvent rencontré en développement PHP On peut utiliser des boucles ou des fonctions de base pour y parvenir. L'utilisation de la méthode de boucle peut prendre plus de temps, mais elle consomme moins de mémoire et convient aux tableaux comportant un petit nombre d'éléments. L'utilisation de la méthode de la fonction principale réorganise les valeurs des éléments dans un nouveau tableau, qui occupe plus de mémoire, mais peut terminer l'opération de déduplication plus rapidement et convient aux tableaux contenant un grand nombre d'éléments.

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