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 en fonction de leurs propriétés plutôt que de leurs références d'objet.
Implémentation :
Considérez un tableau d'objets de rôle :
class Role {
public $name;
}
$foo = new Role();
$foo->name = 'test1';
$bar = $foo;
$bam = new Role();
$bam->name = 'test2';
$test = array($foo, $bar, $bam);
Pour supprimer les doublons à l'aide de array_unique :
print_r(array_unique($test, SORT_REGULAR));
Sortie :
Array ( [0] => Role Object ( [name] => test1 ) [2] => Role Object ( [name] => test2 ) )
Attention :
Il est essentiel de noter que array_unique avec SORT_REGULAR utilise la comparaison "==", et non 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.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3