Heim > Artikel > Backend-Entwicklung > Wie sortiere ich ein Objektarray nach Objektfeld in PHP? (Codebeispiel)
In diesem Artikel wird Ihnen die Implementierungsmethode zum Sortieren von Objektarrays nach Objektfeldern in PHP vorgestellt.
Gegeben ein Array von Objekten, sortieren wir das Array nach Objekt und gegebenem Feld.
Methode:
usort()-Funktion ist eine in PHP integrierte Funktion, die zum bedingten Sortieren eines Arrays von Elementen mithilfe einer bestimmten Komparatorfunktion verwendet wird. Die Funktion usort() kann auch verwendet werden, um ein Objektarray nach Objektfeldern zu sortieren. Beim Aufruf der Funktion usort() wird der erste Parameter als Objektarray und der zweite Parameter als Komparatorfunktion verwendet. Auf dieser Basis müssen die beiden Arrayobjekte verglichen werden.
PHP-Codebeispiel:
<?php $gfg_array = array( array( 'score' => '100', 'name' => 'Sam', 'subject' => 'Data Structures' ), array( 'score' => '50', 'name' => 'Tanya', 'subject' => 'Advanced Algorithms' ), array( 'score' => '75', 'name' => 'Jack', 'subject' => 'Distributed Computing' ) ); class geekSchool { var $score, $name, $subject; public function geekSchool($data) { $this->name = $data['name']; $this->score = $data['score']; $this->subject = $data['subject']; } } function data2Object($data) { $class_object = new geekSchool($data); return $class_object; } function comparator($object1, $object2) { return $object1->score > $object2->score; } $school_data = array_map('data2Object', $gfg_array); print("原始对象数组:\n"); print_r($school_data); usort($school_data, 'comparator'); print("\n对象数组排序:\n"); print_r($school_data);
Ausgabe:
原始对象数组: Array ( [0] => geekSchool Object ( [score] => 100 [name] => Sam [subject] => Data Structures ) [1] => geekSchool Object ( [score] => 50 [name] => Tanya [subject] => Advanced Algorithms ) [2] => geekSchool Object ( [score] => 75 [name] => Jack [subject] => Distributed Computing ) ) 对象数组排序: Array ( [0] => geekSchool Object ( [score] => 50 [name] => Tanya [subject] => Advanced Algorithms ) [1] => geekSchool Object ( [score] => 75 [name] => Jack [subject] => Distributed Computing ) [2] => geekSchool Object ( [score] => 100 [name] => Sam [subject] => Data Structures ) )
Verwandte Empfehlungen: „PHP-Tutorial 》
Dieser Artikel ist eine Einführung in die Methode zum Sortieren von Objektarrays nach Objektfeldern in PHP. Ich hoffe, dass er für Freunde in Not hilfreich ist.
Das obige ist der detaillierte Inhalt vonWie sortiere ich ein Objektarray nach Objektfeld in PHP? (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!