Maison >développement back-end >tutoriel php >Comment fusionner des tableaux d'objets et supprimer les doublons en PHP ?
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));
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);
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 ) )
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!