정렬 방법에는 여러 가지가 있습니다. 일반적으로 우리가 자주 사용하는 배열 정렬 기능은 sort(), rsort(), asort(), arsort(), ksort(), krsort( )입니다. 다음은 모든 사람을 위한 자세한 소개입니다.
sort(array,sortingtype);
0 = SORT_REGULAR - 기본값. 각 항목을 일반 순서로 배치합니다(표준 ASCII, 유형 변경 없음)
1 = SORT_NUMERIC - 각 항목을 숫자로 처리합니다.
2 = SORT_STRING - 각 항목을 문자열로 처리합니다.
3 = SORT_LOCALE_STRING - 현재 로케일을 기반으로 각 항목을 문자열로 처리합니다(setlocale()을 통해 변경 가능).
4 = SORT_NATURAL - natsort()와 같은 자연 정렬을 사용하여 각 항목을 문자열로 처리합니다.
5 = SORT_FLAG_CASE - SORT_STRING 또는 SORT_NATURAL과 결합하여(비트 OR) 문자열을 대소문자를 구분하지 않고 정렬할 수 있습니다.
정의 및 사용법:
sort() 함수는 인덱스 배열을 오름차순으로 정렬합니다.
rsort() 함수는 인덱스 배열을 내림차순으로 정렬하며, 다른 사용법은 동일합니다.
참고: 이 함수는 배열의 장치에 새 키 이름을 할당합니다. 원래 키 이름은 삭제됩니다.
성공하면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.
팁: 인덱스 배열을 내림차순으로 정렬하려면 rsort() 함수를 사용하세요.
sort() 함수는 배열 셀을 낮은 것부터 높은 것 순으로 정렬하는 데 사용됩니다.
rsort() 함수는 배열 셀을 높은 순서에서 낮은 순서로 정렬하는 데 사용됩니다.
asort() 함수는 배열 셀을 낮은 것부터 높은 것 순으로 정렬하고 인덱스 관계를 유지하는 데 사용됩니다.
PHP asort() 함수는 배열 셀을 낮은 것에서 높은 것으로 정렬하고 인덱스 관계를 유지하는 데 사용됩니다. 성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.
arsort() 함수는 배열 셀을 높은 순서에서 낮은 순서로 정렬하고 인덱스 관계를 유지하는 데 사용됩니다.
PHP arsort() 함수는 asort()와 반대로 동작합니다. 배열 셀을 높은 순으로 정렬하고 인덱스 관계를 유지합니다. asort() 함수 사용을 참조하세요.
ksort() 함수는 키 이름을 기준으로 배열 셀을 낮은 순서에서 높은 순서로 정렬하는 데 사용됩니다.
PHP ksort() 함수는 키 이름을 기준으로 배열 셀을 낮은 것에서 높은 것으로 정렬하는 데 사용됩니다. 성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다. 이 함수는 원래 키 이름을 유지하므로 연관 배열에서 자주 사용됩니다.
krsort() 函数用于对数组单元按照键名从高到低进行排序。
PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。
使用用户自定义的比较函数对数组 $a 中的元素进行排序:
usort(array,myfunction);
<?php function my_sort($a,$b){ if ($a==$b) return 0; return ($a<$b)?-1:1; } $a=array(4,2,8,6); usort($a,"my_sort"); $arrlength=count($a); for($x=0;$x<$arrlength;$x++) { echo $a[$x]; echo "<br>"; }?>
1、使用array_multisort 使用这个方法,会比较麻烦些,要将age提取出来存储到一维数组里,然后按照age升序排列。具体代码如下: 代码如下:<?php $ages = array(); foreach ($users as $user) { $ages[] = $user['age']; } array_multisort($ages, SORT_ASC, $users); 执行后,$users就是排序好的数组了,可以打印出来看看。如果需要先按年龄升序排列,再按照名称升序排列,方法同上,就是多提取一个名称数组出来,最后的排序方法这样调用: 代码如下: array_multisort($ages, SORT_ASC, $names, SORT_ASC, $users); 2、使用usort 使用这个方法最大的好处就是可以自定义一些比较复杂的排序方法。例如按照名称的长度降序排列: 代码如下: <?php usort($users, function($a, $b) { $al = strlen($a['name']); $bl = strlen($b['name']); if ($al == $bl) return 0; return ($al > $bl) ? -1 : 1; }); 这里使用了匿名函数,如果有需要也可以单独提取出来。其中$a, $b可以理解为$users数组下的元素,可以直接索引name值, 并计算长度,而后比较长度就可以了。
以上是工作中常用的数组排序方法,想了解更多相关问题请访问PHP中文网:PHP视频教程
위 내용은 PHP 정렬 기능에 대한 자세한 설명(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!