Maison > développement back-end > tutoriel php > Comment fusionner des tableaux d'objets et supprimer les doublons en PHP ?

Comment fusionner des tableaux d'objets et supprimer les doublons en PHP ?

DDD
Libérer: 2024-11-13 11:57:02
original
763 Les gens l'ont consulté

How to Merge Object Arrays and Remove Duplicates in PHP?

Fusionner des tableaux d'objets et éliminer les valeurs en double

Lorsque vous travaillez avec des tableaux d'objets, il peut s'avérer nécessaire de fusionner plusieurs tableaux en un seul tout en garantissant l'élimination des doublons. valeurs. Pour y parvenir, nous pouvons exploiter les capacités des fonctions de tableau intégrées de PHP.

Fusionner les tableaux

La fonction array_merge() est pratique lors de la combinaison de deux ou plus de tableaux. Il ajoute les éléments du deuxième tableau au premier, créant ainsi un nouveau tableau avec tous les éléments des deux. Dans ce cas, nous pouvons l'utiliser pour fusionner les deux tableaux d'entrée, $array1 et $array2, en un seul tableau.

Suppression des doublons

Pour supprimer les valeurs en double , nous pouvons utiliser la fonction array_unique(). Il renvoie un nouveau tableau avec uniquement les valeurs uniques du tableau d'entrée. Les doublons sont identifiés et exclus du résultat.

Combiner les fonctions

En combinant ces deux fonctions, nous pouvons atteindre l'objectif souhaité. Nous fusionnons d'abord les deux tableaux d'entrée à l'aide de array_merge(), puis appliquons array_unique() pour éliminer les valeurs en double. Voici à quoi cela ressemble :

$array = array_unique(array_merge($array1, $array2));
Copier après la connexion

Cet extrait de code créera un nouveau tableau, $array, contenant les objets uniques de $array1 et $array2. Les e-mails en double seront supprimés.

Exemple d'utilisation

Considérez l'exemple suivant :

$array1 = [
    (object) ["email" => "gffggfg"],
    (object) ["email" => "example@email.com"],
    (object) ["email" => "wefewf"],
];
$array2 = [
    (object) ["email" => "example@email.com"],
    (object) ["email" => "wefwef"],
    (object) ["email" => "wefewf"],
];

$array = array_unique(array_merge($array1, $array2));

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

Ce code produira le résultat suivant :

Array
(
    [0] => stdClass Object
        (
            [email] => gffggfg
        )
    [1] => stdClass Object
        (
            [email] => example@email.com
        )
    [2] => stdClass Object
        (
            [email] => wefewf
        )
    [3] => stdClass Object
        (
            [email] => wefwef
        )
)
Copier après la connexion

Comme vous pouvez le constater, la valeur d'e-mail en double, "example@email.com", a été supprimée du tableau fusionné.

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