排序的要领多种多样,通常情况下,我们常常运用到的数组排序函数有:sort() 、rsort()、asort() 、arsort()、ksort()、krsort()。下面为人人逐一细致引见。
sort(array,sortingtype);
0 = SORT_REGULAR - 默许。把每一项按通例顺序分列(Standard ASCII,不转变范例)
1 = SORT_NUMERIC - 把每一项作为数字来处置惩罚。
2 = SORT_STRING - 把每一项作为字符串来处置惩罚。
3 = SORT_LOCALE_STRING - 把每一项作为字符串来处置惩罚,基于当前地区设置(可通过 setlocale() 举行变动)。
4 = SORT_NATURAL - 把每一项作为字符串来处置惩罚,运用相似 natsort() 的天然排序。
5 = SORT_FLAG_CASE - 能够连系(按位或)SORT_STRING 或 SORT_NATURAL 对字符串举行排序,不辨别大小写。
定义和用法:
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值, 并计算长度,然后比较长度就能够了。
以上是工作中经常使用的数组排序要领,想相识更多相干题目请接见ki4网:PHP视频教程
以上就是php排序函数细致解说(附实例)的细致内容,更多请关注ki4网别的相干文章!