PHP 버전
4+
$students = [
    1005 => '김민지',
    1002 => '박서준',
    1008 => '이하나',
    1001 => '최윤서'
];

// 키(학번)를 기준으로 내림차순 정렬
krsort($students);

// 결과 출력
print_r($students);
출력
$products = [
    'banana' => 5000,
    'apple' => 1000,
    'cherry' => 2000
];

// 키(상품명) 기준 내림차순으로 정렬
krsort($products);

// 결과 출력
print_r($products);
출력
// PHP 8.2.0 전
krsort(array &$array, int $flags = SORT_REGULAR): true

// PHP 8.2.0부터
krsort(array &$array, int $flags = SORT_REGULAR): bool
$items_1 = [
    12      => 'a',
    'abc'   => 'b',
    '15'    => 'c',
    7       => 'd',
    'Banana'=> 'e'
];

krsort($items_1, SORT_NUMERIC);
// 키 기준 내림차순 정렬 (SORT_NUMERIC)
// 배열의 모든 키를 숫자로 간주하여 내림차순 정렬
// 숫자로 변환할 수 없는 문자열 키('abc', 'Banana')는 0으로 취급되어 정렬 시 뒤쪽에 위치
// 값(value)들은 그대로 유지됩니다.

var_dump($items_1);
/*
array(5) {
  [15]=> string(1) "c"       // 문자열 '15' → 숫자 15로 변환 → 내림차순에서 가장 앞
  [12]=> string(1) "a"       // 숫자 키 12 → 그 다음
  [7]=> string(1) "d"        // 숫자 키 7 → 그 다음
  ["abc"]=> string(1) "b"    // 숫자로 변환 불가 → 0 취급 → 뒤쪽
  ["Banana"]=> string(1) "e" // 숫자로 변환 불가 → 0 취급 → 가장 뒤
}
*/

////////////////////

$items_2 = [
    12      => 'a',
    'abc'   => 'b',
    '15'    => 'c',
    7       => 'd',
    'Banana'=> 'e'
];

krsort($items_2, SORT_STRING); 
// 키 기준 내림차순 정렬 (SORT_STRING)
// 배열의 모든 키를 문자열로 간주하여 사전식 내림차순 정렬
// 값(value)들은 그대로 유지됩니다.

var_dump($items_2);
/*
array(5) {
                              // 숫자 형태의 문자열이 일반 문자열보다 작은 값이므로 숫자 형태의 문자열이 뒤에 위치함
  ["abc"]=> string(1) "b"     // 'abc' → 사전식 내림차순에서 가장 앞
  ["Banana"]=> string(1) "e"  // 'Banana' → 두 번째
  [7]=> string(1) "d"         // '7' → 숫자형 문자열로 변환 → 사전식 내림차순 위치
  [15]=> string(1) "c"        // '15' → 숫자형 문자열로 변환 → 그 다음
  [12]=> string(1) "a"        // '12' → 숫자형 문자열로 변환 → 가장 뒤
}
*/