Maison >développement back-end >Problème PHP >Comment supprimer des éléments avec la même valeur de clé dans un tableau php

Comment supprimer des éléments avec la même valeur de clé dans un tableau php

PHPz
PHPzoriginal
2023-03-23 16:53:211502parcourir

PHP est un langage de programmation puissant qui fournit diverses fonctions de tableau pour manipuler les tableaux. PHP fournit de nombreuses solutions lorsque nous devons supprimer des éléments avec la même valeur clé d'un tableau. Dans cet article, nous présenterons quelques méthodes courantes pour supprimer des éléments avec la même valeur de clé.

Méthode 1 : utilisez la fonction array_unique()

La fonction array_unique() peut supprimer les valeurs en double du tableau et renvoyer un nouveau tableau dans lequel tous les noms de clés restent inchangés. Voici un exemple de code pour supprimer des éléments à l'aide de la fonction array_unique() :

$old_array = array("one" => 1, "two" => 2, "three" => 3, "four" => 2);
$new_array = array_unique($old_array);
print_r($new_array);

Dans le code ci-dessus, le tableau d'origine contient quatre éléments, dont deux ont la même valeur de clé. La fonction array_unique() supprime les éléments en double du tableau et renvoie un nouveau tableau. Le résultat de sortie est le suivant :

Array
(
    [one] => 1
    [two] => 2
    [three] => 3
)

Méthode 2 : utilisez la fonction array_filter()

La fonction array_filter() peut filtrer les éléments du tableau et renvoyer un nouveau tableau qui contient uniquement des éléments qui répondent à des conditions spécifiques. Voici un exemple de code qui utilise la fonction array_filter() pour supprimer des éléments :

$old_array = array("one" => 1, "two" => 2, "three" => 3, "four" => 2);
$new_array = array_filter($old_array, function($value, $key) use ($old_array) {
    return count(array_keys($old_array, $value)) == 1;
}, ARRAY_FILTER_USE_BOTH);
print_r($new_array);

Dans le code ci-dessus, nous utilisons une fonction anonyme pour définir les conditions de filtre. Cette fonction compare la valeur et la clé de chaque élément pour voir s'il n'apparaît qu'une seule fois. Si c'est le cas, renvoyez vrai ; sinon, renvoyez faux. Le résultat final est le suivant :

Array
(
    [one] => 1
    [three] => 3
)

Méthode 3 : utilisez la fonction array_diff_key()

array_diff_key() pour comparer les noms de clé des deux tableaux et renvoyer les éléments correspondant aux différents noms de clé dans le premier tableau . Vous trouverez ci-dessous un exemple de code pour supprimer des éléments à l'aide de la fonction array_diff_key() :

$old_array = array("one" => 1, "two" => 2, "three" => 3, "four" => 2);
$new_array = array_diff_key($old_array, array_unique($old_array));
print_r($new_array);

Dans le code ci-dessus, nous supprimons d'abord les éléments en double dans le tableau à l'aide de la fonction array_unique() et transmettons le résultat comme deuxième paramètre à la fonction array_diff_key(). Le résultat final est le suivant :

Array
(
    [two] => 2
)

Méthode 4 : Utilisez une fonction personnalisée

Si la méthode ci-dessus ne fonctionne pas pour votre cas d'utilisation spécifique, vous pouvez créer une fonction personnalisée pour supprimer des éléments avec la même valeur de clé. Voici un exemple de code pour supprimer un élément à l'aide d'une fonction personnalisée :

function delete_duplicate_elements($array) {
    $result = array();
    foreach($array as $key => $value) {
        if(!in_array($value, $result)) {
            $result[$key] = $value;
        }
    }
    return $result;
}
$old_array = array("one" => 1, "two" => 2, "three" => 3, "four" => 2);
$new_array = delete_duplicate_elements($old_array);
print_r($new_array);

Dans le code ci-dessus, la fonction personnalisée utilise la fonction in_array() pour vérifier si l'élément est déjà présent dans le tableau résultat. S'il n'est pas présent, l'élément est ajouté au tableau résultant. Le résultat final est le suivant :

Array
(
    [one] => 1
    [two] => 2
    [three] => 3
)

Conclusion

PHP fournit diverses fonctions et méthodes intégrées pour supprimer des éléments de tableau avec la même valeur de clé. En fonction de vos besoins, vous pouvez choisir la méthode qui vous convient et l'utiliser dans votre projet. Nous espérons que cet article vous aidera à mieux manipuler les tableaux avec PHP.

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