Maison  >  Article  >  développement back-end  >  Parlons des méthodes courantes pour supprimer les doublons des tableaux PHP

Parlons des méthodes courantes pour supprimer les doublons des tableaux PHP

PHPz
PHPzoriginal
2023-04-19 11:39:01573parcourir

En PHP, la déduplication de tableau est une opération courante. Comme il peut y avoir des éléments en double dans le tableau, l'opération de déduplication nous permet d'obtenir clairement tous les différents éléments du tableau. Ci-dessous, je présenterai quelques méthodes de déduplication de tableau couramment utilisées.

1. Utilisez la fonction array_unique

La fonction array_unique est une fonction de déduplication en une étape fournie avec PHP. Sa fonction est de supprimer les valeurs en double du tableau et de renvoyer un nouveau tableau.

Exemple de code :

$array = array('apple', 'orange', 'banana', 'apple', 'orange');
$new_array = array_unique($array);
print_r($new_array);

Résultat de sortie :

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)

2. Utiliser la traversée de boucle

En plus de la fonction array_unique, nous pouvons également utiliser la méthode de traversée de boucle pour réaliser la déduplication de tableau. La méthode d'implémentation spécifique consiste à créer d'abord un tableau vide, puis à parcourir les éléments du tableau d'origine pour déterminer s'ils sont déjà apparus dans le nouveau tableau. Sinon, ajoutez l'élément au nouveau tableau. Enfin, renvoyez ce nouveau tableau.

Exemple de code :

$array = array('apple', 'orange', 'banana', 'apple', 'orange');
$new_array = array();
foreach($array as $value){
    if(!in_array($value, $new_array)){
        $new_array[] = $value;
    }
}
print_r($new_array);

Résultat de sortie :

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)

3. Utilisez les fonctions array_flip et array_keys

Une autre méthode consiste à utiliser les fonctions array_flip et array_keys. La fonction array_flip peut retourner les clés et les valeurs du tableau, tandis que la fonction array_keys peut renvoyer une liste de toutes les clés du tableau. Par conséquent, nous pouvons d'abord utiliser la fonction array_flip pour utiliser les valeurs comme clés, puis utiliser la fonction array_keys pour obtenir ces clés. Le résultat final est le tableau dédupliqué.

Exemple de code :

$array = array('apple', 'orange', 'banana', 'apple', 'orange');
$new_array = array_keys(array_flip($array));
print_r($new_array);

Résultat de sortie :

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)

4. Utilisez la fonction array_filter

La dernière méthode consiste à utiliser la fonction array_filter. La fonction array_filter peut utiliser la fonction de rappel spécifiée pour filtrer chaque élément du tableau et renvoie enfin le tableau filtré. La méthode d'implémentation spécifique consiste à définir d'abord une fonction anonyme comme fonction de rappel, puis à transmettre cette fonction en tant que paramètre à la fonction array_filter lors du filtrage.

Exemple de code :

$array = array('apple', 'orange', 'banana', 'apple', 'orange');
$new_array = array_filter($array, function($value, $key){
    static $unique = array();
    if(!in_array($value, $unique)){
        $unique[] = $value;
        return true;
    }
    return false;
}, ARRAY_FILTER_USE_BOTH);
print_r($new_array);

Résultat de sortie :

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)

Voici quatre méthodes de déduplication de tableau PHP couramment utilisées. En fonction de la situation spécifique, nous pouvons choisir de manière flexible différentes méthodes pour réaliser la déduplication des baies afin d'obtenir de meilleurs résultats.

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