Existe-t-il une fonction similaire à la méthode array_unique qui opère sur les objets ? Imaginez avoir plusieurs tableaux contenant des objets « Rôle ». Vous souhaitez les combiner et supprimer les doublons.
Array_unique peut être appliqué à un tableau d'objets avec la constante SORT_REGULAR :
<code class="php">class MyClass { public $prop; } $foo = new MyClass(); $foo->prop = 'test1'; $bar = $foo; $bam = new MyClass(); $bam->prop = 'test2'; $test = array($foo, $bar, $bam); print_r(array_unique($test, SORT_REGULAR));</code>
Sortie :
<code class="php">Array ( [0] => MyClass Object ( [prop] => test1 ) [2] => MyClass Object ( [prop] => test2 ) )</code>
Visitez http://3v4l.org/VvonH#v529 pour une démonstration en direct.
Attention : Cette méthode utilise le "= =" plutôt que la comparaison stricte ("==="). Ainsi, lors de la comparaison d'objets au sein du tableau, il examine les propriétés de chaque objet plutôt que de comparer les identités d'objet (instances).
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!