Heim >Backend-Entwicklung >PHP-Tutorial >Wie vergleiche ich Arrays von Objekten anhand von Spaltenwerten mithilfe von Array-Funktionen?

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

Linda Hamilton
Linda HamiltonOriginal
2024-10-23 15:17:02656Durchsuche

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 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!

Stellungnahme:
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