Gibt es eine Funktion ähnlich der Methode array_unique, die mit Objekten arbeitet? Stellen Sie sich vor, Sie hätten mehrere Arrays mit „Rollen“-Objekten. Sie möchten sie kombinieren und alle Duplikate entfernen.
Array_unique kann mit der SORT_REGULAR-Konstante auf ein Array von Objekten angewendet werden:
<code class="php">class MyClass { public $prop; } $foo = new MyClass(); $foo->prop = 'test1'; $bar = $foo; $bam = new MyClass(); $bam->prop = 'test2'; $test = array($foo, $bar, $bam); print_r(array_unique($test, SORT_REGULAR));</code>
Ausgabe :
<code class="php">Array ( [0] => MyClass Object ( [prop] => test1 ) [2] => MyClass Object ( [prop] => test2 ) )</code>
Besuchen Sie http://3v4l.org/VvonH#v529 für eine Live-Demonstration.
Achtung: Diese Methode verwendet das „= ="-Vergleich statt des strikten Vergleichs ("==="). Beim Vergleich von Objekten innerhalb des Arrays werden also die Eigenschaften jedes Objekts untersucht, anstatt Objektidentitäten (Instanzen) zu vergleichen.
Das obige ist der detaillierte Inhalt vonKann „array_unique' zum Entfernen doppelter Objekte verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!