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' → 가장 뒤
}
*/