Maison > Article > développement back-end > Comment fusionner des tableaux avec des objets identiques et éliminer les doublons en PHP ?
Fusionner des tableaux avec des objets identiques et éliminer les doublons
La fusion de plusieurs tableaux en un seul tableau est une tâche courante en programmation. Cependant, lorsque vous travaillez avec des tableaux contenant des objets, il est essentiel de gérer les doublons avec soin pour éviter les problèmes d'intégrité des données.
Considérez un scénario dans lequel vous disposez de deux tableaux, $array1 et $array2, contenant des objets avec une propriété « email ». comme identifiant unique. Votre objectif est de fusionner ces tableaux, en garantissant que les valeurs d'e-mail en double sont supprimées.
Solution
Pour obtenir le résultat souhaité, vous pouvez utiliser deux fonctions PHP : array_merge( ) et array_unique().
En combinant ces fonctions, vous peut fusionner efficacement les deux tableaux tout en éliminant les e-mails en double. Le code ci-dessous illustre cette approche :
<?php $array1 = [ (object) ["email" => "gffggfg"], (object) ["email" => "[email protected]"], (object) ["email" => "wefewf"], ]; $array2 = [ (object) ["email" => "[email protected]"], (object) ["email" => "wefwef"], (object) ["email" => "wefewf"], ]; // Merge the arrays $mergedArray = array_merge($array1, $array2); // Remove duplicate values $uniqueArray = array_unique($mergedArray, SORT_REGULAR); // Print the merged and unique array print_r($uniqueArray); ?>
Sortie :
Array ( [0] => stdClass Object ( [email] => gffggfg ) [1] => stdClass Object ( [email] => [email protected] ) [2] => stdClass Object ( [email] => wefewf ) [3] => stdClass Object ( [email] => wefwef ) )
Comme vous pouvez le voir, le $uniqueArray résultant ne contient que des valeurs de courrier électronique uniques, fusionnant et dédupliquant avec succès les deux tableaux d'entrée. .
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!