PHP排序函数有哪些?

发布时间:2020-04-04编辑:脚本学堂
本文介绍了php编程中常用的排序函数,有关php排序函数的用法,包括sort、rsort、asort、ksort等排序函数的用法,有需要的朋友参考下。

php编程中主要的排序函数:
 

Sort     破坏索引 升序    值排序
Rsort    破坏索引 降序    值排序
Asort    保持索引 升序     值排序
Arsort   保持索引 降序     值排序
Ksort    保持索引 升序      键值排序(key)
Krsort   保持索引 降序       键值排序(key)

1,Usort
本函数将用用户自定义的比较函数对一个数组中的值(value)进行排序。如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。
比较函数必须在第一个参数被认为小于,等于或大于第二个参数时分别返回一个小于,等于或大于零的整数。

2,Uksort
uksort — 使用用户自定义的比较函数对数组中的键名(key)进行排序
cmp_function 函数应接受两个参数,该参数将被 array 中的一对键名填充。比较函数在第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。

3,Natsort
本函数实现了一个和人们通常对字母数字字符串进行排序的方法一样的排序算法并保持原有键/值的关联,这被称为“自然排序”。
本算法和通常的计算机字符串排序算法
bool natcasesort ( array &$array )不区分大小写

本函数实现了一个和人们通常对字母数字字符串进行排序的方法一样的排序算法并保持原有键/值的关联,这被称为“自然排序”。

成功时返回 TRUE, 或者在失败时返回 FALSE.

比如给二维数组的排序,使用到内置函数asort和arsort。

思想是保持$keyvalue 和$arr的键值相同,然后将$arr要排序的那个列赋值给$keyvalue,使用内置函数给$keyvalue排序,

最后根据不变的键值返回$arr的其他列。

例子:
 

复制代码 代码示例:
<?php
//php排序函数实例
function array_sort($arr,$keys,$type='asc')
{
 echo'开始排序...'.'</br>';
 $keysvalue = $new_array = array();
 foreach ($arr as $k=>$v)
 {
  $keysvalue[$k] = $v[$keys];
 }
 if($type == 'asc')
 {
  asort($keysvalue);
 }
 else
 {
  arsort($keysvalue);
 }
 reset($keysvalue);
 foreach ($keysvalue as $k=>$v)
 {
  $new_array[$k] = $arr[$k];
 }
 echo'排序结束...'.'</br>';
 return $new_array;
}