> 백엔드 개발 > PHP 튜토리얼 > 특정 속성을 기반으로 PHP에서 개체 배열을 정렬하려면 어떻게 해야 합니까?

특정 속성을 기반으로 PHP에서 개체 배열을 정렬하려면 어떻게 해야 합니까?

Patricia Arquette
풀어 주다: 2024-12-15 21:21:11
원래의
780명이 탐색했습니다.

How Can I Sort an Array of Objects in PHP Based on a Specific Property?

특정 속성을 기준으로 객체 배열 정렬

객체 배열을 처리할 때 특정 필드를 기준으로 정렬하는 것이 필수적일 수 있습니다. 데이터 관리. 이를 달성하려면 비교 동작을 사용자 정의할 수 있는 usort 함수를 활용할 수 있습니다.

usort를 사용한 사용자 정의 비교 함수:

사용자 정의 비교 함수를 정의하려면 usort에서는 다음 패턴을 따릅니다.

function cmp($a, $b) {
    return strcmp($a->name, $b->name);
}

usort($your_data, "cmp");
로그인 후 복사

이 예에서 비교는 개체의 "이름" 속성을 기반으로 합니다. "name"을 관련 속성으로 바꿀 수 있습니다.

대체 콜백 옵션:

전용 함수를 사용하는 것 외에도 usort는 두 번째 인수로 모든 콜백을 허용합니다. 다음은 몇 가지 대안입니다:

  • 익명 함수(PHP 5.3 ):
usort($your_data, function($a, $b) {
    return strcmp($a->name, $b->name);
});
로그인 후 복사
  • 클래스 방법:
usort($your_data, array($this, "cmp")); // where "cmp" is a method in the class
로그인 후 복사
  • 화살표 함수(PHP 7.4 ):
usort($your_data, fn($a, $b) => strcmp($a->name, $b->name));
로그인 후 복사

숫자 비교 값:

숫자 속성을 기준으로 개체를 주문할 때 다음 비교 함수를 고려하세요.

fn($a, $b) => $a->count - $b->count
로그인 후 복사

또는 PHP 7에서는 간결한 비교를 위해 Spaceship 연산자를 사용할 수 있습니다.

fn($a, $b) => $a->count <=> $b->count
로그인 후 복사

위 내용은 특정 속성을 기반으로 PHP에서 개체 배열을 정렬하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿