Maison > développement back-end > Problème PHP > php supprime les doublons du tableau

php supprime les doublons du tableau

WBOY
Libérer: 2023-05-06 10:51:07
original
519 Les gens l'ont consulté

Dans le développement PHP, la déduplication de tableau est un problème qui doit souvent être résolu. Lorsque nous devons traiter une grande quantité de données, la suppression efficace des doublons dans un tableau devient une tâche très importante. Dans cet article, nous expliquerons comment dédupliquer des tableaux en PHP en utilisant différentes méthodes, ainsi que les avantages et les inconvénients de ces méthodes.

Méthode 1 : utilisez la fonction array_unique

La fonction array_unique est un moyen de gérer la déduplication de tableau dans la fonction intégrée de PHP. Sa fonction est de renvoyer un nouveau tableau contenant les éléments dédupliqués dans le tableau d'origine.

Donnez un exemple pour illustrer :

$fruits = array("apple", "banana", "orange", "banana", "pear");
$unique_fruits = array_unique($fruits);
print_r($unique_fruits);
Copier après la connexion

Sortie :

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [4] => pear
)
Copier après la connexion

Vous pouvez voir qu'après avoir utilisé la fonction array_unique, les doublons dans le tableau d'origine sont supprimés. Cependant, il convient de noter que cette fonction ne peut gérer que des tableaux de types valeur et ne peut pas gérer des tableaux contenant des types de données complexes.

Méthode 2 : Utiliser le parcours de boucles

En PHP, utiliser des boucles pour parcourir des tableaux afin de supprimer les doublons est également une méthode courante. Son principe est de parcourir chaque élément du tableau et de supprimer les éléments en double du tableau.

Ce qui suit est un exemple d'utilisation du parcours de boucle pour supprimer les doublons :

$fruits = array("apple", "banana", "orange", "banana", "pear");

for ($i = 0; $i < count($fruits); $i++) {
    for ($j = $i+1; $j < count($fruits); $j++) {
        if ($fruits[$i] == $fruits[$j]) {
            array_splice($fruits, $j, 1);
            $j--;
        }
    }
}

print_r($fruits);
Copier après la connexion

Sortie :

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => pear
)
Copier après la connexion
Copier après la connexion
Copier après la connexion

Vous pouvez voir que les éléments en double du tableau ont été supprimés à l'aide du parcours de boucle. Mais cette méthode présente également quelques inconvénients :

  1. Le parcours d'imbrication peut facilement réduire l'efficacité d'exécution du code, en particulier lors du parcours d'une grande quantité de données.
  2. L'opération de modification du tableau entraînera le réarrangement du tableau, ce qui entraînera des modifications des clés du tableau, ce qui n'est pas propice aux opérations ultérieures.

Méthode 3 : utiliser les fonctions array_flip et array_keys

La fonction array_flip peut échanger les clés et les valeurs du tableau, et la fonction array_keys est utilisée pour obtenir tous les noms de clés du tableau. Ces deux fonctions peuvent facilement supprimer les doublons d'un tableau.

Voici un exemple :

$fruits = array("apple", "banana", "orange", "banana", "pear");
$unique_fruits = array_keys(array_flip($fruits));

print_r($unique_fruits);
Copier après la connexion

Sortie :

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => pear
)
Copier après la connexion
Copier après la connexion
Copier après la connexion

Comme vous pouvez le voir, les doublons dans le tableau peuvent également être supprimés en utilisant cette méthode. Par rapport à la deuxième méthode, cette méthode est plus efficace et ne modifie pas les paires clé-valeur.

Méthode 4 : Utilisez la fonction array_reduce

La fonction array_reduce est une idée de programmation fonctionnelle, qui peut effectuer des opérations personnalisées sur un tableau et renvoyer une valeur.

Ce qui suit est un exemple d'utilisation de la fonction array_reduce pour supprimer les doublons :

$fruits = array("apple", "banana", "orange", "banana", "pear");

$unique_fruits = array_reduce($fruits, function($result, $value) {
    if (!in_array($value, $result)) {
        $result[] = $value;
    }
    return $result;
}, array());

print_r($unique_fruits);
Copier après la connexion

Sortie :

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => pear
)
Copier après la connexion
Copier après la connexion
Copier après la connexion

Comme vous pouvez le voir, la fonction array_reduce peut également être utilisée pour supprimer facilement les doublons dans un tableau. Par rapport à la deuxième méthode, cette méthode présente l’avantage de moins de code et d’une vitesse d’exécution rapide.

Conclusion

Dans le développement PHP, la déduplication des tableaux est une opération de base, et il existe de nombreuses façons différentes de la mettre en œuvre. En comparant quatre méthodes de déduplication différentes, nous pouvons tirer les conclusions suivantes : La fonction

  1. array_unique est le moyen le plus simple et le plus pratique de dédupliquer, mais elle ne peut pas gérer les types de données complexes.
  2. Le parcours de boucle est un moyen courant de supprimer les doublons, mais le parcours imbriqué entraînera une diminution de l'efficacité d'exécution du code.
  3. L'utilisation des fonctions array_flip et array_keys est plus efficace en matière de déduplication et ne modifiera pas les paires clé-valeur.
  4. L'utilisation de la fonction array_reduce est un moyen concis et efficace de supprimer les doublons.

Selon les besoins spécifiques du projet, vous pouvez choisir la méthode de déduplication la plus appropriée pour améliorer l'efficacité du code.

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