• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php中13个数组排序函数 的介绍

php 搞代码 4年前 (2022-01-21) 26次浏览 已收录 0个评论
文章目录[隐藏]

这篇文章给大家分享的内容是关于php数组排序函数 ,有一定的参考价值,有需要的朋友可以参考一下。

  • 函数中有u的,能自定义比较函数;有k的,按照键来排序;有r(reverse)的,倒序;有a(association)的,一定是键值关联,除了rsort() usort() sort() shuffle(),其他没有a的都是键值关联,array_multisort()键值关联的保持,数字类型的不保持。

  • 下列的所有排序函数都是直接作用于数组本身, 而不是返回一个新的有序的数组。

  • 以下函数对于数组中相等的元素,它们在排序后的顺序是未定义的。 (也即相等元素之间的顺序是不稳定的,即具有相同值的元素每次排序的结果都是不确定(关联数组))。php7asort arsort uasort已实现稳定排序,php5稳定排序:http://php.net/manual/zh/func…

  • 在对含有混合类型值的数组排序时要小心,因为 sort() 可能会产生不可预知的结果。

1.array_multisort

  • 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。

bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, mixed $... ]]] )

排序类型标志:

  • SORT_REGULAR (默认)- 将项目按照通常方法比较(不修改类型,区分大小写,大写字母会排在小写字母之前)

  • SORT_NUMERIC – 按照数字大小比较

  • SORT_STRING – 按照字符串比较(区分大小写)

  • SORT_LOCALE_STRING – 根据当前的本地化设置,按照字符串比较。 它会使用 locale 信息,可以通过 setlocale() 修改此信息。

  • SORT_NATURAL – 以字符串的&quo

    本文来源gaodai.ma#com搞##代!^码@网*
    搞gaodaima代码

    t;自然排序",类似 natsort()

  • SORT_FLAG_CASE – 可以组合 (按位或 OR) SORT_STRING 或者 SORT_NATURAL 大小写不敏感的方式排序字符串。

  • 1.1 如果有多个数组参数时, $array2会根据$array1的结果排序,像MySQL的group by

  • 1.2 不区分大小写的排序:

$array = array('Alpha', 'atomic', 'Beta', 'bank');$array_lowercase = array_map('strtolower', $array); // 先复制一个转为小写数组array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array);   // 先对小写数组排序,再排序原数组print_r($array);
  • 1.3 对数据库结果进行排序

function array_orderby(){    $args = func_get_args();    $data = array_shift($args);    foreach ($args as $n => $field) {        if (is_string($field)) {            $tmp = array();            foreach ($data as $key => $row)                $tmp[$key] = $row[$field];            $args[$n] = $tmp;            }    }    $args[] = &$data;    call_user_func_array('array_multisort', $args);    return array_pop($args);}

2.sort

  • 删除原有的键名对数组排序(顺序)

bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
  • sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);排序结果和natcasesort()一样。

3.rsort

  • 对数组逆向排序

bool rsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

4.asort

发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址