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>
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!