>백엔드 개발 >PHP 튜토리얼 >내림차순으로 숫자 값과 키를 기준으로 연관 배열을 정렬하는 방법은 무엇입니까?

내림차순으로 숫자 값과 키를 기준으로 연관 배열을 정렬하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-12 06:22:01758검색

How to Sort an Associative Array by Numeric Values and Keys in Descending Order?

숫자 값 및 키를 기준으로 연관 배열 정렬

문자열 키와 숫자 값이 포함된 연관 배열이 있는 경우 다음을 기준으로 배열을 정렬하려고 합니다. 숫자 값을 내림차순으로 정렬한 다음 태그 이름을 기준으로 알파벳순으로 정렬합니다. 예를 들어 입력 배열:

$arrTags = [
    'mango' => 2, 
    'orange' => 4, 
    'apple' => 2,
    'banana' => 3
];

은 다음과 같이 출력되어야 합니다.

orange (4)  
banana (3) 
apple (2) 
mango (2)

해결 방법:

한 가지 가능한 접근 방식은 다음을 사용하는 것입니다. 유소트(). 그러나 먼저 숫자 값을 기준으로 정렬한 다음 키를 기준으로 정렬하는 사용자 정의 비교 함수가 필요합니다. 이 작업은 두 단계로 정렬하여 수행할 수 있습니다. 먼저 숫자 값을 내림차순으로 정렬한 다음 키 값을 오름차순으로 정렬합니다.

코드를 단순화하려면 array_values() 및 array_keys() 함수를 사용하면 됩니다. 값과 키를 별도의 배열로 추출합니다. 그런 다음 array_multisort()를 사용하여 여러 배열에 대해 여러 정렬을 수행합니다. 다음 코드는 원하는 출력을 생성합니다.

array_multisort(array_values($arrTags), SORT_DESC, array_keys($arrTags), SORT_ASC, $arrTags);

위 내용은 내림차순으로 숫자 값과 키를 기준으로 연관 배열을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.