현재 위치: > 최신 기사 목록> PHP krsort를 정렬 한 후 배열 키가 다시 표시됩니까?

PHP krsort를 정렬 한 후 배열 키가 다시 표시됩니까?

gitbox 2025-05-29

PHP에서 krsort ()는 키 이름의 역 순서로 배열을 정렬하는 데 사용되는 매우 일반적인 정렬 기능입니다. krsort ()를 사용할 때 많은 개발자가 질문이있을 수 있습니다. 정렬 후 PHP 배열의 주요 이름이 다시 표시됩니까? 이 기사에서는이 문제에 대해 자세히 논의하고 krsort () 의 규칙을 이해할 것입니다.

1. krsort의 기본 사용 ()

krsort () 함수의 함수는 배열 키 이름의 역 순서로 배열을 정렬하는 것입니다. 키 이름과 해당 값 사이의 매핑 관계를 유지하고 다양한 분류 플래그를 지원합니다. 기본 사용 방법은 다음과 같습니다.

 <?php
$array = [
    "apple" => 3,
    "banana" => 2,
    "cherry" => 5
];

krsort($array);
print_r($array);
?>

위의 코드를 실행하면 출력 배열이 키 이름의 역 순서로 정렬됩니다.

 Array
(
    [cherry] => 5
    [banana] => 2
    [apple] => 3
)

보시다시피, 배열은 키 이름에 따라 역순으로 배열됩니다.

2. krsort () 의 Reindex 및 배열 키 이름

krsort () 정렬의 중요한 기능은 배열의 주요 이름을 다시 표시하지 않는다는 것입니다. 즉, 배열의 키 이름이 불연속적 인 경우 어레이의 키 이름은 krsort () 정렬 후에 그대로 유지됩니다. 다시 말해, krsort ()는 배열의 키 이름을 반대로 정렬하고 키 이름의 유형이나 원래 순서를 변경하지 않습니다.

예를 들어:

 <?php
$array = [
    1 => "apple",
    3 => "banana",
    2 => "cherry"
];

krsort($array);
print_r($array);
?>

출력 결과는 다음과 같습니다.

 Array
(
    [3] => banana
    [2] => cherry
    [1] => apple
)

이 예에서는 배열의 주요 이름이 역 순서로 배열되지만 키 이름 1 , 2 , 3은 변경되지 않고 다시 표시되지 않습니다.

3. 왜 다시 무례하지 않습니까?

PHP 배열의 주요 이름은 정수 또는 문자열 유형 일 수 있습니다. krsort ()를 사용하여 배열을 정렬하면 이러한 키 이름을 재정렬하지 않지만 단순히 키 이름의 값 으로 역 순서로 배열됩니다. krsort () 와 같은 PHP 정렬 함수는 명시 적으로 구역을 요구하지 않는 한 배열의 키 이름을 기본적으로 변경하지 않습니다.

배열을 정렬 한 후 연속 정수 키 이름을 재구성하려면 Array_Values ​​() 함수를 사용하여 배열의 모든 키 이름을 폐기하고 0 에서 인덱스를 재생합니다.

 <?php
$array = [
    1 => "apple",
    3 => "banana",
    2 => "cherry"
];

krsort($array);
$array = array_values($array);
print_r($array);
?>

출력 결과는 다음과 같습니다.

 Array
(
    [0] => banana
    [1] => cherry
    [2] => apple
)

이렇게하면 키 이름이 0 에서 시작되는 다시 표시된 배열을 얻습니다.

4. krsort의 분류 플래그 ()

krsort () 함수는 선택적 정렬 플래그 매개 변수도 지원합니다. 이 매개 변수를 사용하면 Sort_string을 사용하여 사전 순서를 정렬하거나 Sort_numeric을 사용하여 수치 순서를 정렬하는 등 정렬 방법을보다 신중하게 제어 할 수 있습니다. 일반적인 사용법은 다음과 같습니다.

 <?php
$array = [
    "10" => "apple",
    "2" => "banana",
    "30" => "cherry"
];

krsort($array, SORT_NUMERIC);
print_r($array);
?>

출력 결과는 다음과 같습니다.

 Array
(
    [30] => cherry
    [10] => apple
    [2] => banana
)

이 예에서는 키 이름을 Sort_Numeric 별로 숫자 크기별로 순서로 정렬합니다.

5. 요약

krsort () 로 정렬 할 때 PHP 배열의 주요 이름은 다시 표시되지 않습니다. krsort ()는 키 이름의 값에 따라 배열을 역순으로 배열하고 배열의 키 이름은 변경되지 않았습니다. 연속, 다시 표시된 배열을 얻으려면 array_values ​​() 함수를 사용할 수 있습니다. 이러한 규칙을 이해 한 후에는 PHP 배열의 정렬 및 키 이름 처리를보다 유연하게 제어 할 수 있습니다.

궁금한 점이 있거나 더 많은 사례가 필요하면 언제든지 문의하십시오.