PHP 원래 키 이름을 유지하면서 값을 기준으로 배열을 정렬하는 방법은 무엇입니까?

WBOY
풀어 주다: 2024-05-04 08:06:02
원래의
680명이 탐색했습니다.

PHP는 값별로 연관 배열을 정렬하는 두 가지 방법을 제공합니다. asort() 함수 사용: 원래 키 이름을 유지하면서 값을 작은 것부터 큰 것까지 정렬합니다. usort() 함수 및 클로저 사용: 원래 키 이름을 유지하면서 사용자 정의 비교 함수로 값을 정렬합니다.

PHP 如何按值对数组进行排序,同时保留原始键名?

asort()함수 사용asort()函数

PHP 的asort()函数可按值对关联数组进行排序,同时保留原始键名。它接受一个关联数组作为参数,并按照从小到大的顺序对值进行排序。

 5, "banana" => 3, "orange" => 2, "grape" => 4, ]; asort($arr); print_r($arr); ?>
로그인 후 복사

输出:

Array ( [orange] => 2 [banana] => 3 [grape] => 4 [apple] => 5 )
로그인 후 복사
로그인 후 복사

如你所见,数组的值已按从小到大的顺序排序,但键名保留不变。

使用usort()函数和闭包

另一种方法是使用usort()函数和闭包。usort()接受一个回调函数作为参数,该函数用于比较数组中的元素。闭包是一种匿名函数,可用作回调。

 5, "banana" => 3, "orange" => 2, "grape" => 4, ]; usort($arr, function ($a, $b) { return $a[1] - $b[1]; }); print_r($arr); ?>
로그인 후 복사

输出:

Array ( [orange] => 2 [banana] => 3 [grape] => 4 [apple] => 5 )
로그인 후 복사
로그인 후 복사

在这种情况下,闭包会比较每个元素的值 ($a[1]$b[1]),并返回-101

PHP의 asort()함수는 원래 키 이름을 유지하면서 값을 기준으로 연관 배열을 정렬합니다. 연관 배열을 인수로 받아들이고 값을 가장 작은 것부터 가장 큰 것까지 정렬합니다. rrreee출력: rrreee보시다시피 배열의 값은 작은 것부터 큰 것 순으로 정렬되었지만 키 이름은 변경되지 않았습니다. usort()함수와 클로저 사용또 다른 방법은 usort()함수와 클로저를 사용하는 것입니다. usort()는 배열의 요소를 비교하는 데 사용되는 매개변수로 콜백 함수를 허용합니다. 클로저는 콜백으로 사용할 수 있는 익명 함수입니다. rrreee출력: rrreee이 경우 클로저는 각 요소( $a[1]$b[1])의 값을 비교하고 다음을 반환합니다. 어느 값이 더 큰지에 따라 -1, 0또는 1.

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!