„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie vergleiche ich Arrays von Objekten nach Spaltenwerten mithilfe von Array-Funktionen?

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

Veröffentlicht am 07.11.2024
Durchsuche:572

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']
);

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;
    }
);

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

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

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729665436 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3