PHP는 값별로 연관 배열을 정렬하는 두 가지 방법을 제공합니다. asort() 함수 사용: 원래 키 이름을 유지하면서 값을 작은 것부터 큰 것까지 정렬합니다. usort() 함수 및 클로저 사용: 원래 키 이름을 유지하면서 사용자 정의 비교 함수로 값을 정렬합니다.
asort()
함수 사용asort()
函数
PHP 的 asort()
函数可按值对关联数组进行排序,同时保留原始键名。它接受一个关联数组作为参数,并按照从小到大的顺序对值进行排序。
<?php $arr = [ "apple" => 5, "banana" => 3, "orange" => 2, "grape" => 4, ]; asort($arr); print_r($arr); ?>
输出:
Array ( [orange] => 2 [banana] => 3 [grape] => 4 [apple] => 5 )
如你所见,数组的值已按从小到大的顺序排序,但键名保留不变。
使用 usort()
函数和闭包
另一种方法是使用 usort()
函数和闭包。usort()
接受一个回调函数作为参数,该函数用于比较数组中的元素。闭包是一种匿名函数,可用作回调。
<?php $arr = [ "apple" => 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]
),并返回 -1
、0
或 1
asort()
함수는 원래 키 이름을 유지하면서 값을 기준으로 연관 배열을 정렬합니다. 연관 배열을 인수로 받아들이고 값을 가장 작은 것부터 가장 큰 것까지 정렬합니다. 🎜rrreee🎜출력: 🎜rrreee🎜보시다시피 배열의 값은 작은 것부터 큰 것 순으로 정렬되었지만 키 이름은 변경되지 않았습니다. 🎜🎜🎜usort()
함수와 클로저 사용🎜🎜또 다른 방법은 usort()
함수와 클로저를 사용하는 것입니다. usort()
는 배열의 요소를 비교하는 데 사용되는 매개변수로 콜백 함수를 허용합니다. 클로저는 콜백으로 사용할 수 있는 익명 함수입니다. 🎜rrreee🎜출력: 🎜rrreee🎜이 경우 클로저는 각 요소($a[1]
및 $b[1]
)의 값을 비교하고 다음을 반환합니다. 어느 값이 더 큰지에 따라 -1
, 0
또는 1
. 🎜위 내용은 PHP 원래 키 이름을 유지하면서 값을 기준으로 배열을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!