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 相关文章推荐
用PHP发电子邮件
Oct 09 PHP
PHP 柱状图实现代码
Dec 04 PHP
php file_exists 检查文件或目录是否存在的函数
May 10 PHP
PHP数组及条件,循环语句学习
Nov 11 PHP
PHP读取数据库并按照中文名称进行排序实现代码
Jan 29 PHP
解析在zend Farmework下如何创立一个FORM表单
Jun 28 PHP
关于JSON以及JSON在PHP中的应用技巧
Nov 27 PHP
降低PHP Redis内存占用
Mar 23 PHP
php获取数据库中数据的实现方法
Jun 01 PHP
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
Aug 16 PHP
PHP echo()函数讲解
Feb 15 PHP
Laravel框架之解决前端显示图片问题
Oct 24 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
set_include_path在win和linux下的区别
2008/01/10 PHP
php类中private属性继承问题分析
2012/11/01 PHP
js兼容的placeholder属性详解
2013/08/18 Javascript
javascript运行机制之this详细介绍
2014/02/07 Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
2014/06/30 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
js H5 canvas投篮小游戏
2016/08/18 Javascript
老生常谈的跨域处理
2017/01/11 Javascript
原生JS实现小小的音乐播放器
2017/10/16 Javascript
React Native使用百度Echarts显示图表的示例代码
2017/11/07 Javascript
Node.js创建Web、TCP服务器
2017/12/05 Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
2018/05/16 Javascript
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
JS实现吸顶特效
2020/01/08 Javascript
vue 使用post/get 下载导出文件操作
2020/08/07 Javascript
[42:34]VP vs VG 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
浅谈python中的面向对象和类的基本语法
2016/06/13 Python
详解python的ORM中Pony用法
2018/02/09 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
python实现微信小程序用户登录、模板推送
2019/08/28 Python
解决Pytorch训练过程中loss不下降的问题
2020/01/02 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
Python实现微信表情包炸群功能
2021/01/28 Python
HTML5实现表单自动验证功能实例代码
2017/01/11 HTML / CSS
Ralph Lauren意大利官方网站:时尚界最负盛名的品牌之一
2018/10/18 全球购物
Aurora London官网:奢华、负担得起的皮革手袋
2020/08/01 全球购物
上海奥佳笔试题面试题
2016/11/16 面试题
水果连锁超市创业计划书
2014/01/24 职场文书
2014年保育员工作总结
2014/12/02 职场文书
2015年全国“爱牙日”宣传活动总结
2015/03/23 职场文书
具结保证书范本
2015/05/11 职场文书
业务员年终工作总结2015
2015/05/28 职场文书
2016教师党员学习心得体会
2016/01/21 职场文书