Heim > Backend-Entwicklung > PHP-Tutorial > Kann „array_unique' zum Entfernen doppelter Objekte verwendet werden?

Kann „array_unique' zum Entfernen doppelter Objekte verwendet werden?

Patricia Arquette
Freigeben: 2024-11-02 16:36:29
Original
217 Leute haben es durchsucht

Can `array_unique` Be Used to Remove Duplicate Objects?

Kann Array_unique mit Objekten verwendet werden?

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.

Lösung

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>
Nach dem Login kopieren

Ausgabe :

<code class="php">Array (
    [0] => MyClass Object
        (
            [prop] => test1
        )

    [2] => MyClass Object
        (
            [prop] => test2
        )
)</code>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage