Maison  >  Article  >  développement back-end  >  Comment dédupliquer des tableaux en php

Comment dédupliquer des tableaux en php

PHPz
PHPzoriginal
2023-04-23 09:18:496327parcourir

En PHP, le tableau est un type de données très important, qui peut être utilisé pour stocker et traiter de grandes quantités de données. Cependant, lors du processus d'utilisation des tableaux, nous pouvons rencontrer des valeurs en double dans le tableau. Dans ce cas, nous devons dédupliquer le tableau. Ce qui suit présente plusieurs méthodes courantes de déduplication de tableaux PHP.

1. Utilisez la fonction array_unique() de PHP

La fonction array_unique() est la propre fonction de déduplication de PHP, qui peut facilement supprimer les valeurs en double d'un tableau. La méthode d'utilisation de cette fonction est la suivante :

$array = array("a","b","c","d","a","b","e");
$new_array = array_unique($array);
print_r($new_array);

Le code ci-dessus affichera :

Array ( [0] => a [1] => b [2] => c [3] => d [6] => e )

Comme vous pouvez le voir, les valeurs en double "a" et "b" dans le tableau d'origine ont été supprimées.

Il convient de noter que lors de l'utilisation de la fonction array_unique() pour supprimer les doublons, les noms de clés dans le tableau seront conservés. Si vous souhaitez réindexer le tableau, vous pouvez utiliser la fonction array_values(), par exemple :

$array = array("a","b","c","d","a","b","e");
$new_array = array_values(array_unique($array));
print_r($new_array);

Sortie :

Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )

Le tableau a été réindexé.

2. Utilisez des boucles pour supprimer les doublons

En PHP, vous pouvez également parcourir le tableau pour supprimer les valeurs en double. Le code de cette méthode est le suivant :

$array = array("a","b","c","d","a","b","e");
$new_array = array();
foreach($array as $key=>$value){
    if(!in_array($value,$new_array)){
        $new_array[] = $value;
    }
}
print_r($new_array);

En déterminant si une certaine valeur existe dans le tableau et en l'ajoutant à un nouveau tableau si elle n'existe pas, les valeurs en double dans le tableau peuvent être supprimées. Le résultat de sortie est :

Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )

3. Utilisez la fonction array_reduce() de PHP

La fonction array_reduce() est une fonction de réduction de tableau qui peut réduire les éléments d'un tableau. Vous pouvez utiliser la fonction array_reduce() pour supprimer les valeurs en double. Le code est le suivant :

$array = array("a","b","c","d","a","b","e");
$new_array = array_reduce($array, function($carry, $item){
    if(!in_array($item, $carry)){
        $carry[] = $item;
    }
    return $carry;
}, array());
print_r($new_array);

Le code ci-dessus utilise la fonctionnalité des fonctions anonymes dans PHP7. En jugeant si une certaine valeur existe dans le tableau, et en l'ajoutant à un nouveau tableau si elle n'existe pas, dupliquez les valeurs dans. le tableau peut être supprimé. Le résultat de sortie est :

Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )

4. Utilisez la fonction array_count_values() de PHP. La fonction

array_count_values() peut renvoyer le nombre d'occurrences de chaque valeur dans le tableau. Le code est le suivant :

$array = array("a","b","c","d","a","b","e");
$count_array = array_count_values($array);
$new_array = array_keys($count_array);
print_r($new_array);

Le code ci-dessus compte le nombre d'occurrences de chaque valeur dans le tableau et obtient un nouveau tableau via la fonction array_keys(). Le résultat de sortie est :

Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )

Il n'y a pas de valeurs en double dans le nouveau tableau ici.

Ci-dessus sont quatre méthodes courantes de déduplication de tableaux PHP. La sélection de la méthode la plus appropriée pour le traitement de déduplication en fonction de la situation réelle peut améliorer efficacement l'efficacité du traitement des baies.

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