Maison > développement back-end > tutoriel php > Comment puis-je utiliser « array_unique » pour supprimer les objets en double en PHP ?

Comment puis-je utiliser « array_unique » pour supprimer les objets en double en PHP ?

Linda Hamilton
Libérer: 2024-11-01 04:13:02
original
800 Les gens l'ont consulté

How Can I Use `array_unique` to Remove Duplicate Objects in 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>
Copier après la connexion

Pour supprimer les doublons à l'aide de array_unique :

<code class="php">print_r(array_unique($test, SORT_REGULAR));</code>
Copier après la connexion

Sortie :

Array (
    [0] => Role Object
        (
            [name] => test1
        )

    [2] => Role Object
        (
            [name] => test2
        )
)
Copier après la connexion

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!

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