Wie vergleiche ich Arrays von Objekten anhand von Spaltenwerten mithilfe von Array-Funktionen?

Linda Hamilton
Freigeben: 2024-10-23 15:17:02
Original
581 Leute haben es durchsucht

How to Compare Arrays of Objects by Column Values Using Array Functions?

Arrays von Objekten anhand von Spaltenwerten mithilfe von Array-Funktionen vergleichen

Viele Programmiersprachen bieten integrierte Funktionen zum Vergleichen von Arrays. Diese Funktionen funktionieren jedoch normalerweise mit primitiven Datentypen und Arrays, nicht mit Arrays von Objekten. Dies wirft die Frage auf, wie Arrays von Objekten basierend auf einer bestimmten Eigenschaft oder Spalte verglichen werden können.

Um dieses Problem zu beheben, stellt PHP array_udiff bereit, eine Funktion, die den Vergleich von Arrays von Objekten durch Angabe einer benutzerdefinierten Vergleichsfunktion ermöglicht. Betrachten Sie das folgende Beispiel:

$first_array = array(
    (object) ['id' => '205', 'day_id' => '12'],
    (object) ['id' => '210', 'day_id' => '15']
);

$second_array = array(
    (object) ['id' => '205', 'day_id' => '12'],
    (object) ['id' => '215', 'day_id' => '18']
);
Nach dem Login kopieren

Um diese Arrays basierend auf der Eigenschaft „id“ zu vergleichen, können Sie eine anonyme Funktion wie folgt verwenden:

$diff = array_udiff($first_array, $second_array,
    function ($obj_a, $obj_b) {
        return $obj_a->id - $obj_b->id;
    }
);
Nach dem Login kopieren

Diese Funktion subtrahiert die „id“. ' Werte der beiden Objekte, um den Unterschied zu bestimmen. Das resultierende $diff enthält die Objekte im ersten Array, die keinen passenden „id“-Wert im zweiten Array haben.

Zusammenfassend lässt sich sagen, dass Entwickler durch den Einsatz der array_udiff-Funktion und die Definition einer benutzerdefinierten Vergleichsfunktion dies können Vergleichen Sie Arrays von Objekten basierend auf bestimmten Eigenschaften oder Spalten und sorgen Sie so für Flexibilität bei Datenanalyseaufgaben.

Das obige ist der detaillierte Inhalt vonWie vergleiche ich Arrays von Objekten anhand von Spaltenwerten mithilfe von Array-Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!