현재 위치: > 최신 기사 목록> Arsort 함수를 사용하여 배열을 정렬하고 배열의 키 이름을 변경되지 않은 방법은 무엇입니까? 자세한 분석

Arsort 함수를 사용하여 배열을 정렬하고 배열의 키 이름을 변경되지 않은 방법은 무엇입니까? 자세한 분석

gitbox 2025-06-15

1. Arsort () 함수의 개요

arsort () 함수는 값으로 배열을 내림차순으로 정렬하는 데 사용됩니다. 배열의 값별로 정렬 할뿐만 아니라 원래 배열의 주요 이름도 보존합니다. 따라서 값이 변경 되더라도 키 이름은 원래 배열의 위치와 일치합니다.

기능 프로토 타입

 bool arsort ( array &$array , int $sort_flags = SORT_REGULAR )
  • 배열 및 $ 배열 : 정렬 할 배열.

  • int $ sort_flags : 옵션 매개 변수는 정렬 규칙을 정의합니다. 공통 정렬 규칙에는 Sort_regular (기본값), Sort_numeric , Sort_string 등이 포함됩니다.

반환 값

부울 가치를 반환합니다. 정렬이 성공하면 TRUE 를 반환하십시오. 그렇지 않으면 false 를 반환합니다.


2. 기본 사용

다음은 Arsort () 함수를 사용하여 배열을 내림차순으로 정렬하고 키 이름을 변경하지 않은 방법을 보여주는 간단한 예입니다.

 <?php
$array = [
    "apple" => 5,
    "banana" => 2,
    "orange" => 8,
    "grape" => 1
];

arsort($array); // 내림차순을 정렬하십시오

print_r($array);
?>

출력 결과 :

 Array
(
    [orange] => 8
    [apple] => 5
    [banana] => 2
    [grape] => 1
)

위에서 볼 수 있듯이 Arsort ()는 배열을 내림차순 순서로 정렬하고 키 이름 (예 : Apple , Banana )은 변경되지 않았습니다.


3. Arsort ()를 사용할 때 정렬 규칙을 지정하는 방법은 무엇입니까?

arsort ()는 sort_flags 매개 변수를 통해 콜라이트를 지정합니다. 우리는 다른 정렬 방법을 선택할 수 있으며, 가장 일반적인 방법은 sort_numericsort_string 입니다.

예 1 : 숫자 정렬에 Sort_numeric을 사용하십시오

 <?php
$array = [
    "a" => 10,
    "b" => 1,
    "c" => 3
];

arsort($array, SORT_NUMERIC); // 숫자별로 정렬하십시오

print_r($array);
?>

출력 결과 :

 Array
(
    [a] => 10
    [c] => 3
    [b] => 1
)

예 2 : 문자열 정렬에 Sort_string을 사용하십시오

 <?php
$array = [
    "apple" => "green",
    "banana" => "yellow",
    "orange" => "orange"
];

arsort($array, SORT_STRING); // 문자열별로 정렬하십시오

print_r($array);
?>

출력 결과 :

 Array
(
    [orange] => orange
    [banana] => yellow
    [apple] => green
)

4. Arsort () 의 응용 시나리오

장면 1 : 학생 목록을 성적별로 정렬하십시오

우리가 학생 학년이 많이 있다고 가정하고, 성적에 따라 내림차순으로 학생들을 정리하고 학생들의 이름과 성적에 해당하는 것을 유지하려고합니다.

 <?php
$students = [
    "John" => 85,
    "Jane" => 92,
    "Tom" => 76,
    "Lucy" => 89
];

arsort($students); // 根据成绩내림차순을 정렬하십시오

print_r($students);
?>

출력 결과 :

 Array
(
    [Jane] => 92
    [Lucy] => 89
    [John] => 85
    [Tom] => 76
)

이 접근법은 특정 기준 (예 : 등급, 점수 등)에 따라 데이터를 정렬 해야하는 시나리오에 매우 적합합니다.


5. 일반적인 오류 및 디버깅

  1. 참조 배열 전달되지 않은 <br> 배열을 참조로 전달하지 않으면 Arsort () 함수는 원래 배열을 수정하지 않습니다.

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

arsort($array); // 여기에 인용문이 없습니다,원래 배열은 수정되지 않습니다

print_r($array); // 원래 배열을 출력합니다
?>

출력 결과 :

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

해결책은 배열을 참조하여 전달하는 것입니다.

 arsort($array); // 참조를 사용하여 배열을 직접 수정하십시오
  1. Sort_flags 매개 변수 오류 <br> 경우에 따라 잘못된 정렬 _flags 매개 변수로 인해 정렬 결과가 예상보다 나빠집니다. 예를 들어, 요소에 Sort_String을 사용하여 정렬 할 때 숫자가 포함 된 경우 예기치 않은 정렬 동작이 발생할 수 있습니다.