Maison > développement back-end > Problème PHP > Supprimer les valeurs identiques du tableau php

Supprimer les valeurs identiques du tableau php

WBOY
Libérer: 2023-05-07 19:56:06
original
566 Les gens l'ont consulté

En PHP, le tableau est un type de données très important, et il arrive souvent que les mêmes valeurs dans le tableau doivent être supprimées. Ce processus est appelé déduplication, également appelé suppression des doublons. Dans le développement réel, la déduplication est une étape nécessaire pour résoudre de nombreux problèmes.

PHP fournit une variété de fonctions intégrées qui peuvent être utilisées pour dédupliquer des tableaux. Cet article présentera quatre méthodes couramment utilisées.

Méthode 1 : Utiliser la fonction array_unique()

La fonction array_unique() est l'une des fonctions les plus simples et les plus couramment utilisées en PHP. Il peut être utilisé pour supprimer les valeurs en double d'un tableau et renvoyer un nouveau tableau.

Voici un exemple simple :

$arr = array(1, 2, 3, 2, 4, 3, 5);
$result = array_unique($arr);
print_r($result);
Copier après la connexion

Le résultat de ce code est :

Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 4 [6] => 5 )
Copier après la connexion

Vous pouvez voir que les valeurs en double​​2 et 3 dans le tableau d'origine ont été supprimées. Cependant, il convient de noter que la fonction array_unique() ne peut être utilisée que pour supprimer les valeurs en double dans un tableau unidimensionnel. Si vous devez supprimer les valeurs en double d'un tableau multidimensionnel, vous devez utiliser d'autres méthodes.

Méthode 2 : utilisez la fonction array_count_values()

La fonction array_count_values() est utilisée pour compter le nombre d'occurrences de chaque valeur dans le tableau et renvoyer un nouveau tableau, dans lequel le nombre d'occurrences de chaque valeur est utilisé comme son valeur clé correspondante.

Ce qui suit est un exemple :

$arr = array(1, 2, 3, 2, 4, 3, 5);
$result = array_count_values($arr);
print_r($result);
Copier après la connexion

La sortie de ce code est :

Array ( [1] => 1 [2] => 2 [3] => 2 [4] => 1 [5] => 1 )
Copier après la connexion

Dans ce nouveau tableau, chaque clé représente la valeur qui apparaît dans le tableau d'origine, et sa valeur correspondante représente la valeur dans le tableau d'origine. Le nombre d'occurrences dans le tableau.

Si vous ne vous souciez que des valeurs uniques dans le tableau d'origine, vous pouvez utiliser la fonction array_keys() pour obtenir toutes les clés du nouveau tableau afin d'obtenir le numéro d'origine. Utilisez simplement la fonction array_unique() pour supprimer les valeurs en double. .

Méthode 3 : utiliser la boucle foreach

Si vous ne souhaitez pas utiliser la fonction intégrée, vous pouvez supprimer les valeurs en double dans le tableau en écrivant une boucle foreach.

Voici un exemple :

$arr = array(1, 2, 3, 2, 4, 3, 5);
$result = array();
foreach ($arr as $value) {
    if (!in_array($value, $result)) {
        $result[] = $value;
    }
}
print_r($result);
Copier après la connexion

La sortie de ce code est la même que lors de l'utilisation de la fonction array_unique().

Dans cet exemple, nous définissons d'abord un tableau vide $result, puis utilisons foreach pour parcourir toutes les valeurs du tableau d'origine $arr. Si la valeur actuelle ne se trouve pas dans le tableau $result, ajoutez-la au tableau $result, créant ainsi un nouveau tableau unique.

Il convient de noter que dans cette boucle, nous utilisons la fonction in_array() pour déterminer si la valeur actuelle est dans le tableau $result. Si la valeur existe dans le tableau $result, elle a déjà été ajoutée, nous n'avons donc pas besoin de l'ajouter à nouveau.

Méthode 4 : utiliser les fonctions array_flip() et array_values()

Enfin, nous présenterons une méthode de déduplication utilisant les fonctions array_flip() et array_values(). La fonction

array_flip() peut échanger les clés et les valeurs d'un tableau pour créer un nouveau tableau. Si le tableau d'origine contient des valeurs en double, cette méthode supprimera automatiquement les valeurs en double.

Voici un exemple :

$arr = array(1, 2, 3, 2, 4, 3, 5);
$result = array_values(array_flip($arr));
print_r($result);
Copier après la connexion

La sortie de ce code est la même que l'exemple précédent.

Dans cet exemple, nous utilisons d'abord la fonction array_flip() pour échanger les clés et les valeurs dans le tableau d'origine, puis utilisons la fonction array_values() pour réorganiser les valeurs dans le nouveau tableau. Étant donné que le tableau d'origine contient des valeurs en double, ces valeurs en double sont automatiquement supprimées lors de l'utilisation de la fonction array_flip().

Conclusion

La déduplication de tableau est sans aucun doute une opération très importante en PHP. Elle peut éviter des calculs répétés lors du traitement des données et améliorer l'efficacité d'exécution du programme. Dans cet article, nous avons couvert plusieurs méthodes de déduplication, notamment la fonction array_unique(), la fonction array_count_values(), la boucle foreach et les fonctions array_flip() et array_values(). Ils ont chacun leurs propres caractéristiques et vous pouvez choisir la méthode qui correspond à vos besoins.

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!

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