PHP的排序函数的总结

Sort     破坏索引 升序    值排序

Rsort    破坏索引 降序    值排序

 

Asort    保持索引 升序     值排序

Arsort   保持索引 降序     值排序

 

Ksort    保持索引 升序      键值排序(key)

Krsort   保持索引 降序       键值排序(key)

 

Usort

本函数将用用户自定义的比较函数对一个数组中的值(value)进行排序。如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。

比较函数必须在第一个参数被认为小于,等于或大于第二个参数时分别返回一个小于,等于或大于零的整数。

Uksort

uksort — 使用用户自定义的比较函数对数组中的键名(key)进行排序

cmp_function 函数应接受两个参数,该参数将被 array 中的一对键名填充。比较函数在第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。

Natsort

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

 

bool natcasesort ( array &$array )不区分大小写

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

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

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

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

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

 

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;
}

 

 

 

转载于:https://www.cnblogs.com/z497688734/p/3653489.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值