arsort () 함수는 값으로 배열을 내림차순으로 정렬하는 데 사용됩니다. 배열의 값별로 정렬 할뿐만 아니라 원래 배열의 주요 이름도 보존합니다. 따라서 값이 변경 되더라도 키 이름은 원래 배열의 위치와 일치합니다.
bool arsort ( array &$array , int $sort_flags = SORT_REGULAR )
배열 및 $ 배열 : 정렬 할 배열.
int $ sort_flags : 옵션 매개 변수는 정렬 규칙을 정의합니다. 공통 정렬 규칙에는 Sort_regular (기본값), Sort_numeric , Sort_string 등이 포함됩니다.
부울 가치를 반환합니다. 정렬이 성공하면 TRUE 를 반환하십시오. 그렇지 않으면 false 를 반환합니다.
다음은 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 )은 변경되지 않았습니다.
arsort ()는 sort_flags 매개 변수를 통해 콜라이트를 지정합니다. 우리는 다른 정렬 방법을 선택할 수 있으며, 가장 일반적인 방법은 sort_numeric 및 sort_string 입니다.
<?php
$array = [
"a" => 10,
"b" => 1,
"c" => 3
];
arsort($array, SORT_NUMERIC); // 숫자별로 정렬하십시오
print_r($array);
?>
Array
(
[a] => 10
[c] => 3
[b] => 1
)
<?php
$array = [
"apple" => "green",
"banana" => "yellow",
"orange" => "orange"
];
arsort($array, SORT_STRING); // 문자열별로 정렬하십시오
print_r($array);
?>
Array
(
[orange] => orange
[banana] => yellow
[apple] => green
)
우리가 학생 학년이 많이 있다고 가정하고, 성적에 따라 내림차순으로 학생들을 정리하고 학생들의 이름과 성적에 해당하는 것을 유지하려고합니다.
<?php
$students = [
"John" => 85,
"Jane" => 92,
"Tom" => 76,
"Lucy" => 89
];
arsort($students); // 根据成绩내림차순을 정렬하십시오
print_r($students);
?>
Array
(
[Jane] => 92
[Lucy] => 89
[John] => 85
[Tom] => 76
)
이 접근법은 특정 기준 (예 : 등급, 점수 등)에 따라 데이터를 정렬 해야하는 시나리오에 매우 적합합니다.
참조 배열 전달되지 않은 <br> 배열을 참조로 전달하지 않으면 Arsort () 함수는 원래 배열을 수정하지 않습니다.
<?php
$array = [
"apple" => 5,
"banana" => 2
];
arsort($array); // 여기에 인용문이 없습니다,원래 배열은 수정되지 않습니다
print_r($array); // 원래 배열을 출력합니다
?>
Array
(
[apple] => 5
[banana] => 2
)
해결책은 배열을 참조하여 전달하는 것입니다.
arsort($array); // 참조를 사용하여 배열을 직접 수정하십시오
Sort_flags 매개 변수 오류 <br> 경우에 따라 잘못된 정렬 _flags 매개 변수로 인해 정렬 결과가 예상보다 나빠집니다. 예를 들어, 요소에 Sort_String을 사용하여 정렬 할 때 숫자가 포함 된 경우 예기치 않은 정렬 동작이 발생할 수 있습니다.