PHP 배열을 값별로 정렬한 후 키 이름을 유지하는 방법은 무엇입니까?

PHPz
풀어 주다: 2024-05-02 16:09:02
원래의
615명이 탐색했습니다.

키 이름을 유지하면서 PHP에서 값을 기준으로 배열을 정렬하는 방법은 usort() 함수를 사용하여 값을 기준으로 배열을 정렬하는 것입니다. usort() 함수에는 요소 값의 차이를 반환하는 비교 함수로 익명 함수가 전달됩니다. usort()는 키를 변경하지 않고 유지하면서 익명 함수에 따라 배열을 정렬합니다.

PHP 数组按值排序后如何保持键名?

PHP에서 배열을 값별로 정렬하고 키 이름을 보존하는 방법은 무엇입니까?

PHP에서는 asort() 함수를 사용하여 값을 기준으로 오름차순으로 배열을 정렬하거나 arsort() 함수를 사용하여 배열을 내림차순으로 정렬할 수 있습니다. 주문하다. 그러나 두 함수 모두 배열의 키를 파괴합니다. asort() 函数根据值对数组进行升序排序,或使用 arsort() 函数进行降序排序。但是,这两个函数都会破坏数组中的键名。

如果要按值排序数组,同时保持键名,可以使用 usort() 函数,如下所示:

$arr = array(
    'a' => 10,
    'b' => 5,
    'c' => 20
);

usort($arr, function($a, $b) {
    return $a - $b;
});

print_r($arr);
로그인 후 복사

输出:

Array
(
    [b] => 5
    [a] => 10
    [c] => 20
)
로그인 후 복사

在上面的代码中:

  • usort() 接受两个参数:要排序的数组 $arr 和一个用于比较元素值的匿名函数。
  • 匿名函数接收两个元素 $a$b,并返回它们的差值。
  • usort()
  • 키 이름을 유지하면서 값별로 배열을 정렬하려면 다음과 같이 usort() 함수를 사용하면 됩니다.
  • $students = array(
        'John' => 90,
        'Jane' => 85,
        'Peter' => 95
    );
    로그인 후 복사
  • 출력:
usort($students, function($a, $b) {
    return $a - $b;
});
로그인 후 복사

위 코드에서: < ul> usort()는 두 개의 매개변수, 즉 정렬할 $arr 배열과 요소 값을 비교하는 익명 함수를 허용합니다.

익명 함수는 $a$b 두 요소를 받아 그 차이를 반환합니다.

usort()는 익명 함수를 비교 함수로 사용하여 배열의 요소를 정렬합니다.

정렬 후에도 배열의 키 이름은 변경되지 않습니다.

🎜🎜🎜실제 예🎜🎜🎜학생 성적이 포함된 배열을 고려하세요. 🎜
Array
(
    [Jane] => 85
    [John] => 90
    [Peter] => 95
)
로그인 후 복사
🎜이름을 키로 유지하면서 학생 이름을 학년별로 오름차순으로 정렬하려면 다음 코드를 사용할 수 있습니다. 🎜rrreee🎜출력: 🎜rrreee

위 내용은 PHP 배열을 값별로 정렬한 후 키 이름을 유지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿