PHP에서 배열 값을 기준으로 정렬하는 방법

PHPz
풀어 주다: 2023-04-26 09:43:27
원래의
2737명이 탐색했습니다.

PHP에서는 내장 함수sort()rsort()를 사용하여 배열을 오름차순 및 내림차순으로 정렬할 수 있습니다. 하지만 이 두 함수는 배열의 키를 키 값으로만 정렬할 수 있습니다. 배열의 값을 키 값으로 정렬하려면 다른 함수를 사용해야 합니다.sort()rsort()对数组进行升序排序和降序排序。不过这两个函数只能通过键值对数组的键进行排序,如果想按照键值对数组中的值进行排序,就需要使用其他的函数。

下面介绍几种按数组值排序的方法:

1. 使用asort()arsort()

在 PHP 中,我们可以使用内置函数asort()对数组按照值进行升序排序,使用arsort()对数组按照值进行降序排序。这两个函数还会保留键值之间的关联关系。

$numbers = array(3, 1, 5, 2, 4); asort($numbers); print_r($numbers); // Output: Array ( [1] => 1 [3] => 2 [0] => 3 [4] => 4 [2] => 5 ) arsort($numbers); print_r($numbers); // Output: Array ( [2] => 5 [4] => 4 [0] => 3 [3] => 2 [1] => 1 )
로그인 후 복사

注意,如果我们使用sort()rsort()对键值对数组进行排序,则会丢失键值与值之间的关联。而asort()arsort()则可以保留键值与值之间的关联。

2. 使用usort()

PHP 还提供了usort()函数,可以按照自定义的比较函数对数组进行排序。比较函数需要接受两个参数,如果第一个参数小于第二个参数,函数返回负值;如果两个参数相等,函数返回 0;如果第一个参数大于第二个参数,函数返回正值。

下面是一个使用usort()对数组按照值进行升序排序的示例:

$numbers = array(3, 1, 5, 2, 4); function compare_function($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; } usort($numbers, 'compare_function'); print_r($numbers); // Output: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
로그인 후 복사

3. 使用array_multisort()

还有一种常用的方式是使用array_multisort()函数,该函数可以同时对多个数组进行排序。我们可以传入一个数组和排序方式,然后函数会根据排序方式按照数组的值进行排序。

下面是一个使用array_multisort()函数对数组进行升序排序的示例:

$numbers = array(3, 1, 5, 2, 4); array_multisort($numbers, SORT_ASC); print_r($numbers); // Output: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
로그인 후 복사

注意,array_multisort()函数会对所有的数组都进行排序。如果需要按照某个特定数组进行排序,则需要把这个数组放在第一个参数的位置。

总结

按数组值排序在 PHP 中有多种实现方式,以上介绍的只是其中的几种。在使用这些函数时,需要注意参数的类型和位置,以及排序方式的选择。同时,当有多个参数需要排序时,使用array_multisort()

다음은 배열 값을 기준으로 정렬하는 여러 가지 방법입니다:

1.asort()arsort()

를 사용하세요.PHP에서는 다음을 수행할 수 있습니다. 내장 함수 asort()를 사용하여 값을 기준으로 오름차순으로 배열을 정렬하고, arsort()를 사용하여 값을 기준으로 내림차순으로 배열을 정렬합니다. 이 두 함수는 키 값 간의 연관성도 유지합니다. rrreee 키-값 배열을 정렬하기 위해 sort()rsort()를 사용하면 키와 값 사이의 연결이 손실됩니다. 그리고 asort()arsort()는 키와 값 사이의 연관성을 유지할 수 있습니다.

2.usort()

사용PHP는 사용자 정의 비교 함수에 따라 배열을 정렬할 수 있는 usort()함수도 제공합니다. 비교 함수는 두 개의 매개변수를 받아야 합니다. 첫 번째 매개변수가 두 번째 매개변수보다 작으면 함수는 음수 값을 반환하고, 첫 번째 매개변수가 두 번째 매개변수보다 크면 0을 반환합니다. 함수는 양수 값을 반환합니다. 다음은 usort()를 사용하여 값을 기준으로 오름차순으로 배열을 정렬하는 예입니다. rrreee

3.array_multisort()

를 사용하세요. >또한 일반적인 방법은 여러 배열을 동시에 정렬할 수 있는 array_multisort()함수를 사용하는 것입니다. 배열과 정렬 방법을 전달하면 함수는 정렬 방법에 따라 배열 값을 정렬합니다. 다음은 array_multisort()함수를 사용하여 배열을 오름차순으로 정렬하는 예입니다. rrreee array_multisort()함수는 모든 배열을 정렬한다는 점에 유의하세요. 특정 배열을 기준으로 정렬해야 하는 경우 이 배열을 첫 번째 매개변수에 넣어야 합니다.

요약

PHP에서 배열 값별 정렬을 구현하는 방법은 여러 가지가 있으며, 위의 내용은 그 중 일부에 불과합니다. 이러한 기능을 사용할 때는 매개변수의 유형과 위치, 정렬 방법 선택에 주의해야 합니다. 동시에 정렬해야 할 매개변수가 여러 개인 경우 array_multisort()를 사용하면 처리가 더 편리해집니다.

위 내용은 PHP에서 배열 값을 기준으로 정렬하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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