数组排序

在PHP中提供的几个数组排序函数,函数的命名有下面一些特点:

  1. 数组变量都被作为排序函数的参数,在排序操作完成之后,排序之后的结果存储于数组变量本身,函数的返回值为bool类型。
  2. 函数中出现a(association),表示在按值排序的过程中,保持key=>value的对应关系不变。
  3. 函数名中出现k(key),表示在按值排序的过程中按照数组key而不是数组的值排序。
  4. 函数名中出现r(reverse),表示按照跟不加r的相反的顺序排列。
  5. 函数名中出现u(user defined),表示使用用户自定义函数排序,被用户自定义函数的逻辑是:如果参数1<参数2,则返回负数,并按照升序排列。

常见函数如下:
sort:本函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。
rsort:本函数对数组进行逆向排序(最高到最低)。 删除原有的键名而不仅是重新排序。
asort:对数组进行排序并保持索引关系 。
arsort:对数组进行逆向排序并保持索引关系 。

ksort:对数组按照键名排序,保留键名到数据的关联 。
krsort:对数组按照键名逆向排序,保留键名到数据的关联 。


各函数均可以有两个参数 ,第一个参数是必须,第二个参数是可选参数,以sort() 为例如下:

函数:sort(array, [sort type])
说明:sort()函数按升序对指定数组(第一个参数)进行排序。
sort函数第二参数作用为指定排序类型,是可选参数,可能的值为:
SORT_REGULAR: 默认值,不改变类型进行排序;
SORT_NUMERIC: 把值作为数字进行排序;
SORT_STRING: 把值作为字符串进行排序;

用户可以自定义函数进行排序:
usort(array,function);
如:
<?php
function defined_sort($arg1, $arg2){
  if ($arg1 == $arg2) return 0;
  return ($arg1 < $arg2) ? -1 : 1;
}
$arr = array("D", "E","C","D");
usort($arr, "defined_sort");
?>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值