Heim >Backend-Entwicklung >PHP-Tutorial >Wie vergleiche ich Arrays von Objekten anhand von Spaltenwerten mithilfe von Array-Funktionen?
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!