Maison > développement back-end > tutoriel php > Comment gérez-vous l'unicité des objets en PHP ?

Comment gérez-vous l'unicité des objets en PHP ?

Mary-Kate Olsen
Libérer: 2024-11-02 05:13:02
original
798 Les gens l'ont consulté

How do you handle object uniqueness in PHP?

Gestion de l'unicité des objets en PHP

Lorsque vous traitez des tableaux d'objets en PHP, un équivalent array_unique devient nécessaire pour supprimer les instances en double.

array_unique avec SORT_REGULAR pour les objets

La fonction array_unique de PHP peut également être utilisée pour les objets. En définissant le paramètre sort_flags sur SORT_REGULAR, il compare les objets en fonction de leurs valeurs de propriété plutôt que de leur identité d'objet.

Exemple de code

Considérez le code suivant avec un tableau de Objets de rôle :

<code class="php">class Role {
    public $id;
}

$role1 = new Role();
$role1->id = 1;

$role2 = new Role();
$role2->id = 1;

$roles = array($role1, $role2);

$uniqueRoles = array_unique($roles, SORT_REGULAR);</code>
Copier après la connexion

Cela renverra un tableau contenant uniquement des objets de rôle uniques, les instances en double étant supprimées.

Tri par propriétés d'objet

La clé ici est de s'assurer que les propriétés des objets, dans ce cas leurs identifiants, sont uniques. Cela garantira que array_unique identifie et supprime avec précision les doublons.

Attention

Notez que cette méthode utilise l'opérateur "==" pour la comparaison, qui évalue les propriétés de l'objet. Si vous préférez une comparaison stricte par identité d'objet, vous devrez peut-être définir une fonction de comparaison personnalisée pour array_unique.

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