PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析


Posted in PHP onAugust 18, 2014

sort() 函数用于对数组单元从低到高进行排序。

rsort() 函数用于对数组单元从高到低进行排序。

asort() 函数用于对数组单元从低到高进行排序并保持索引关系。

arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。

ksort() 函数用于对数组单元按照键名从低到高进行排序。

krsort() 函数用于对数组单元按照键名从高到低进行排序。

sort()

PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。

注意:本函数会为排序的数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。

语法:

bool sort( array &array [, int sort_flags] )

可选参数 sort_flags 用于改变排序的行为:

sort_flags 取值 说明

SORT_REGULAR 正常比较单元

SORT_NUMERIC 单元被作为数字来比较

SORT_STRING 单元被作为字符串来比较

SORT_LOCALE_STRING 根据当前的区域(locale)设置来把单元当作字符串比较

例子:

$arr = array("b", "a", "c");
sort($arr);
print_r($arr);
?>

运行该例子输出:

Array ( [0] => a [1] => b [2] => c )

在本例中, $arr 数组单元被按照字母顺序排序,而数组单元经过排序后,键值重新分配。

rsort()

PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

asort()

PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。

语法:

bool asort( array &array [, int sort_flags] )

可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。

例子:

$arr = array("b", "a", "c");
asort($arr);
print_r($arr);
?>

运行该例子输出:

Array ( [1] => a [0] => b [2] => c )

arsort()

PHP arsort() 函数行为与 asort() 相反,对数组单元进行由高到低排序并保持索引关系,请参考 asort() 函数使用。

ksort()

PHP ksort() 函数用于对数组单元按照键名从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE。

本函数会保留原来的键名,因此常用于关联数组。

语法:

bool ksort( array &array [, int sort_flags] )

可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。

例子:

$arr = array("b"=>18, "a"=>20, "c"=>25);
ksort($arr);
print_r($arr);
?>

运行该例子输出:

Array ( [a] => 20 [b] => 18 [c] => 25 )

krsort()

PHP krsort() 函数行为与 ksort() 相反,对数组单元按照键名进行由高到低排序,请参考 ksort() 函数使用。

PHP 相关文章推荐
解决phpmyadmin中文乱码问题。。。
Jan 18 PHP
PHP 存储文本换行实现方法
Jan 05 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
Jun 17 PHP
PHP中file_exists函数不支持中文名的解决方法
Jul 26 PHP
PHP 7.0.2 正式版发布
Jan 08 PHP
简单的自定义php模板引擎
Aug 26 PHP
深入浅出讲解:php的socket通信原理
Dec 03 PHP
PHP利用二叉堆实现TopK-算法的方法详解
Apr 24 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
Jan 20 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
Aug 04 PHP
laravel中的一些简单实用功能
Nov 03 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
Sep 19 PHP
PHP命名空间(namespace)的动态访问及使用技巧
Aug 18 #PHP
PHP命名空间(namespace)的使用基础及示例
Aug 18 #PHP
mac环境中使用brew安装php5.5.15
Aug 18 #PHP
PHP 正则表达式常用函数
Aug 17 #PHP
PHP常用正则表达式集锦
Aug 17 #PHP
学习php中的正则表达式
Aug 17 #PHP
php实现的DateDiff和DateAdd时间函数代码分享
Aug 16 #PHP
You might like
PHP中GET变量的使用
2006/10/09 PHP
Yii框架用户登录session丢失问题解决方法
2017/01/07 PHP
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
javascript关于继承的用法汇总
2014/12/20 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
jQuery表格的维护和删除操作
2017/02/03 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
weex slider实现滑动底部导航功能
2017/08/28 Javascript
JavaScript Date对象应用实例分享
2017/10/30 Javascript
Angular17之Angular自定义指令详解
2018/01/21 Javascript
vue单页开发父子组件传值思路详解
2018/05/18 Javascript
详解vue+webpack+express中间件接口使用
2018/07/17 Javascript
微信小程序实现判断是分享到群还是个人功能示例
2019/05/03 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
使用rst2pdf实现将sphinx生成PDF
2016/06/07 Python
python reduce 函数使用详解
2017/12/05 Python
python构建深度神经网络(DNN)
2018/03/10 Python
python实现连续图文识别
2018/12/18 Python
python3获取url文件大小示例代码
2019/09/18 Python
Python笔记之facade模式
2019/11/20 Python
Python小程序之在图片上加入数字的代码
2019/11/26 Python
django框架forms组件用法实例详解
2019/12/10 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
使用简单的CSS3属性实现炫酷读者墙效果
2014/01/08 HTML / CSS
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
大三自我鉴定范文
2013/10/05 职场文书
公务员职业生涯规划书范文  
2014/01/19 职场文书
2014乡镇“三八”国际劳动妇女节活动总结
2014/03/01 职场文书
社区先进事迹材料
2014/05/19 职场文书
应届大学生自荐书
2014/06/17 职场文书
年检委托书
2014/08/30 职场文书
2016读书月活动心得体会
2016/01/14 职场文书
初中思想品德教学反思
2016/02/24 职场文书
Redis Stream类型的使用详解
2021/11/11 Redis