Maison > Article > développement back-end > Comment puis-je utiliser « array_unique » pour supprimer les objets en double en PHP ?
Objets uniques avec array_unique
En PHP, la fonction array_unique aide à éliminer les valeurs en double d'un tableau. Cependant, lorsque vous travaillez avec des tableaux contenant des objets, cette fonctionnalité peut ne pas sembler fonctionner comme prévu.
Entrez une solution :
Pour les tableaux d'objets, vous pouvez utiliser array_unique avec l'indicateur de comparaison SORT_REGULAR. Cet indicateur demande à la fonction de comparer les objets par leurs propriétés plutôt que par leurs références d'objet.
Implémentation :
Considérez un tableau d'objets de rôle :
<code class="php">class Role { public $name; } $foo = new Role(); $foo->name = 'test1'; $bar = $foo; $bam = new Role(); $bam->name = 'test2'; $test = array($foo, $bar, $bam);</code>
Pour supprimer les doublons à l'aide de array_unique :
<code class="php">print_r(array_unique($test, SORT_REGULAR));</code>
Sortie :
Array ( [0] => Role Object ( [name] => test1 ) [2] => Role Object ( [name] => test2 ) )
Attention :
C'est Il est essentiel de noter que array_unique avec SORT_REGULAR utilise la comparaison "==", pas la comparaison stricte ("==="). Cela signifie que les objets ayant des propriétés identiques mais des références d'objet différentes seront toujours considérés comme des doublons.
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!