> 백엔드 개발 > PHP 튜토리얼 > `usort()` 및 `uasort()`를 사용하여 PHP에서 다차원 배열을 정렬하려면 어떻게 해야 합니까?

`usort()` 및 `uasort()`를 사용하여 PHP에서 다차원 배열을 정렬하려면 어떻게 해야 합니까?

Susan Sarandon
풀어 주다: 2024-12-27 03:41:09
원래의
485명이 탐색했습니다.

How Can I Sort a Multi-Dimensional Array in PHP Using `usort()` and `uasort()`?

값을 기준으로 다차원 배열 정렬

다차원 배열을 정렬해야 하는 상황이 많이 발생합니다. 이는 usort() 함수 내에서 사용자 정의 비교 함수를 사용하여 수행할 수 있습니다.

usort()를 사용하여 단일 키로 정렬

정렬하려면 주어진 배열을 "order" 키 값으로 정렬하면 다음과 같이 정렬 기능을 정의할 수 있습니다. 다음은 다음과 같습니다.

function sortByOrder($a, $b) {
    if ($a['order'] > $b['order']) {
        return 1;
    } elseif ($a['order'] < $b['order']) {
        return -1;
    }
    return 0;
}

usort($myArray, 'sortByOrder');
로그인 후 복사

또는 익명 함수를 사용할 수 있습니다.

usort($myArray, function($a, $b) {
    if ($a['order'] > $b['order']) {
        return 1;
    } elseif ($a['order'] < $b['order']) {
        return -1;
    }
    return 0;
});
로그인 후 복사

다차원 정렬

이 접근 방식은 확장될 수 있습니다. 다차원 배열을 정렬합니다. 예를 들어, "순서"를 기준으로 정렬한 다음 "하위 순서"로 정렬하려면:

usort($myArray, function($a, $b) {
    $retval = $a['order'] <=> $b['order'];
    if ($retval == 0) {
        $retval = $a['suborder'] <=> $b['suborder'];
    }
    return $retval;
});
로그인 후 복사

uasort()를 사용하여 주요 연관 유지

주요 연관을 유지해야 하는 경우 , uasort()를 사용하세요. 비교는 매뉴얼의 배열 정렬 기능 비교를 참고하세요.

위 내용은 `usort()` 및 `uasort()`를 사용하여 PHP에서 다차원 배열을 정렬하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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