« array_unique » peut-il être utilisé pour supprimer des objets en double ?

Patricia Arquette
Libérer: 2024-11-02 16:36:29
original
211 Les gens l'ont consulté

Can `array_unique` Be Used to Remove Duplicate Objects?

Array_unique peut-il être utilisé avec des objets ?

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.

Solution

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>
Copier après la connexion

Sortie :

<code class="php">Array (
    [0] => MyClass Object
        (
            [prop] => test1
        )

    [2] => MyClass Object
        (
            [prop] => test2
        )
)</code>
Copier après la connexion

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal