Umgang mit der Eindeutigkeit von Objekten in PHP
Beim Umgang mit Arrays von Objekten in PHP ist ein array_unique-Äquivalent erforderlich, um doppelte Instanzen zu entfernen.
array_unique mit SORT_REGULAR für Objekte
PHPs array_unique-Funktion kann auch für Objekte verwendet werden. Durch Festlegen des Parameters sort_flags auf SORT_REGULAR werden die Objekte anhand ihrer Eigenschaftswerte und nicht anhand der Objektidentität verglichen.
Codebeispiel
Betrachten Sie den folgenden Code mit einem Array von Rollenobjekte:
<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>
Dies gibt ein Array zurück, das nur eindeutige Rollenobjekte enthält, wobei doppelte Instanzen entfernt werden.
Sortierung nach Objekteigenschaften
Der Schlüssel hier besteht darin, sicherzustellen, dass die Objekteigenschaften, in diesem Fall ihre IDs, eindeutig sind. Dadurch wird gewährleistet, dass array_unique Duplikate genau identifiziert und entfernt.
Achtung
Beachten Sie, dass diese Methode zum Vergleich den Operator „==" verwendet, der Objekteigenschaften auswertet. Wenn Sie einen strikten Vergleich nach Objektidentität bevorzugen, müssen Sie möglicherweise eine benutzerdefinierte Vergleichsfunktion für array_unique.
definierenDas obige ist der detaillierte Inhalt vonWie gehen Sie mit der Eindeutigkeit von Objekten in PHP um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!