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 相关文章推荐
中英文字符串翻转函数
Dec 09 PHP
php session 错误
May 21 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
Apr 25 PHP
解析PHP 使用curl提交json格式数据
Jun 29 PHP
php curl模拟post提交数据示例
Dec 31 PHP
php获得用户ip地址的比较不错的方法
Feb 08 PHP
2014年10个最佳的PHP图像操作库
Jul 14 PHP
php输出金字塔的2种实现方法
Dec 16 PHP
php对象和数组相互转换的方法
May 12 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
Oct 03 PHP
PHP 类与构造函数解析
Feb 06 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 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来写记数器(详细介绍)
2006/10/09 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
2007/01/11 Javascript
JavaScript判断两种格式的输入日期的正确性的代码
2007/03/25 Javascript
jQuery html()等方法介绍
2009/11/18 Javascript
jquery获取table中的某行全部td的内容方法
2013/03/08 Javascript
教你如何使用PHP输出中文JSON字符串
2014/05/22 Javascript
使用console进行性能测试
2015/04/27 Javascript
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
通过点击jqgrid表格弹出需要的表格数据
2015/12/02 Javascript
javascript事件冒泡简单示例
2016/06/20 Javascript
Js 获取当前函数参数对象的实现代码
2016/06/20 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
JavaScript禁止微信浏览器下拉回弹效果
2017/05/16 Javascript
Node.js利用断言模块assert进行单元测试的方法
2017/09/28 Javascript
详解小程序原生使用ES7 async/await语法
2018/08/06 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
json_decode 索引为数字时自动排序问题解决方法
2020/03/28 Javascript
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
2016/06/14 Python
python实现机器学习之元线性回归
2018/09/06 Python
python实现dijkstra最短路由算法
2019/01/17 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
Python绘制频率分布直方图的示例
2019/07/08 Python
Python实现搜索算法的实例代码
2020/01/02 Python
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
JACK & JONES瑞典官方网站:杰克琼斯欧式风格男装
2017/12/23 全球购物
出口公司经理求职简历中的自我评价
2013/10/13 职场文书
班长岗位职责
2013/11/10 职场文书
党员批评与自我批评
2014/10/15 职场文书
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers
mybatis 获取更新记录的id
2022/05/20 Java/Android
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android
MySQL 原理与优化之Limit 查询优化
2022/08/14 MySQL