이 글에서는 PHP에서 객체 필드별로 객체 배열을 정렬하는 구현 방법을 소개합니다.
객체 배열이 주어지면 객체와 지정된 필드를 기준으로 배열을 정렬합니다.
메서드:
usort() 함수는 주어진 비교 함수를 사용하여 요소 배열을 조건부로 정렬하는 데 사용되는 PHP의 내장 함수입니다. usort() 함수를 사용하여 객체 필드별로 객체 배열을 정렬할 수도 있습니다. usort() 함수를 호출할 때 첫 번째 매개변수는 객체 배열로 사용되고, 두 번째 매개변수는 비교 함수로 사용되며, 이를 기준으로 두 배열 객체를 비교해야 합니다.
PHP 코드 예:
<?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);
출력:
原始对象数组: 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 ) )
관련 권장 사항: "PHP Tutorial"
이 문서는 PHP에서 객체 배열을 객체 필드별로 정렬하는 방법에 대한 간단한 소개입니다. 이해해주세요. 필요한 친구들에게 도움이 되길 바랍니다!
위 내용은 PHP에서 객체 필드별로 객체 배열을 정렬하는 방법은 무엇입니까? (코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!