Maison  >  Article  >  développement back-end  >  Comment supprimer les tableaux en double en php

Comment supprimer les tableaux en double en php

PHPz
PHPzoriginal
2023-03-29 11:31:18512parcourir

En PHP, les tableaux sont un type de données très couramment utilisé, et nous devons parfois dédupliquer des tableaux pour répondre à nos besoins. Alors, comment supprimer les tableaux en double en PHP ?

1. Fonction de déduplication de tableau PHP

PHP fournit deux fonctions qui peuvent être utilisées pour implémenter la déduplication de tableau, à savoir array_unique() et array_diff_key(). La fonction

  1. array_unique() La fonction

array_unique() peut supprimer les valeurs en double dans le tableau et renvoyer un nouveau tableau.

Exemple de code :

$arr = array("apple", "banana", "cherry", "cherry", "banana");
$arr = array_unique($arr);
print_r($arr);

Résultat de sortie :

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

On peut voir que la fonction array_unique() supprime avec succès les éléments en double dans le tableau d'origine. La fonction

  1. array_diff_key() La fonction

array_diff_key() peut comparer deux tableaux et renvoyer le nom de clé de la différence entre les deux tableaux.

Exemple de code :

$array1 = array("a" => "red", "b" => "green", "c" => "blue");
$array2 = array("a" => "red", "b" => "green", "d" => "yellow");

$result = array_diff_key($array1, $array2);
print_r($result);

Résultat de sortie :

Array
(
    [c] => blue
)

Dans l'exemple, la fonction array_diff_key() filtre les parties de $array1 qui sont différentes de $array2 et les renvoie sous la forme d'un nouveau tableau.

2. Implémenter manuellement la déduplication de tableau

En plus d'utiliser les fonctions PHP, nous pouvons également implémenter manuellement la déduplication de tableau.

  1. Méthode 1

Utilisez la boucle for et l'instruction if pour parcourir le tableau, identifiez les éléments en double et supprimez-les.

Exemple de code :

$arr = array(1, 2, 5, 2, 1, 6, 7, 8, 7, 9);
$new_arr = array();

for ($i = 0; $i < count($arr); $i++) {
    if (!in_array($arr[$i], $new_arr)) {
        $new_arr[] = $arr[$i];
    }
}

print_r($new_arr);

Résultat de sortie :

Array
(
    [0] => 1
    [1] => 2
    [2] => 5
    [3] => 6
    [4] => 7
    [5] => 8
    [6] => 9
)

in_array() La fonction détermine si les éléments du tableau d'origine sont déjà apparus dans le nouveau tableau, et sinon, ajoutez-les au nouveau tableau.

  1. Méthode 2

Utilisez la fonction array_flip() pour retourner le tableau, supprimez les paires clé-valeur en double et utilisez la fonction array_flip() pour retourner le tableau.

Exemple de code :

$arr = array(1, 2, 5, 2, 1, 6, 7, 8, 7, 9);
$new_arr = array_flip(array_flip($arr));

print_r($new_arr);

Résultat de sortie :

Array
(
    [0] => 1
    [1] => 2
    [2] => 5
    [3] => 6
    [4] => 7
    [5] => 8
    [6] => 9
)

Cette méthode n'a pas besoin d'utiliser une boucle, utilisez simplement la fonction array_flip() deux fois.

3. Résumé

Ci-dessus sont plusieurs méthodes pour supprimer les tableaux en double en PHP. Vous pouvez choisir la méthode correspondante en fonction de la situation spécifique. Les fonctions array_unique() et array_diff_key() sont des fonctions propres à PHP et ont une efficacité relativement élevée. Bien que la mise en œuvre manuelle nécessite une grande quantité de code, elle peut être ajustée et optimisée de manière flexible en fonction de la situation réelle.

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