php排序函数sort、rsort、asort、arsort、ksort、krsort区别与用途

原创 木鱼  2017-10-18 13:09  阅读 498 次

sort

对数组中的元素升序进行排序,默认区分大小写

// 伪代码
// 排序前
array('b', 'a', 'c');
// 排序后
array('a', 'b', 'c');

rsort

和sort相反,对数组中的元素降序进行排序,默认区分大小写

// 伪代码
// 排序前
array('b', 'a', 'c');
// 排序后
array('c', 'b', 'a');

asort

通过键值,对数组中的元素进行升序排序,默认区分大小写

// 伪代码
// 排序前
array('a'=>3, 'b'=>1, 'c'=>2);
// 排序后
array('b'=>1, 'c'=>2, 'a'=>3);

arsort

通过键值,对数组中的元素进行降序排序,默认区分大小写

// 伪代码
// 排序前
array('a'=>3, 'b'=>1, 'c'=>2);
// 排序后
array('a'=>3, 'c'=>2, 'b'=>1);

ksort

通过键名,对数组中的元素进行升序排序,默认区分大小写

// 伪代码
// 排序前
array('b'=>1, 'a'=>2, 'c'=>3);
// 排序后
array('a'=>2, 'b'=>1, 'c'=>3);

krsort

通过键名,对数组中的元素进行降序排序,默认区分大小写

// 伪代码
// 排序前
array('b'=>1, 'a'=>2, 'c'=>3);
// 排序后
array('c'=>3, 'b'=>1, 'a'=>2);

参数说明

这六个排序函数中,都有两个参数。

参数一:需要排序的数组。

参数二:规定如何排序元素/项目。

 

参数二有6种排序模式,分别是:

  • 0 = SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)

  • 1 = SORT_NUMERIC - 把每一项作为数字来处理 【也就说强制转换成数字】

  • 2 = SORT_STRING - 把每一项作为字符串来处理 【也就说强制转换成字符串】

  • 3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)

  • 4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序【自然排序,就是说,在自然里10大于2,但是在计算机里,10小于2,因为计算机把10看做成1和0两个数字了】

  • 5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写

 

给大家简单备注一下,便于理解。

本文地址:https://www.m5yu.com/php-sort.html
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:木鱼博客
版权声明:本文为原创文章,版权归 木鱼 所有,欢迎分享本文,转载请保留出处!

发表评论