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 相关文章推荐
不用iconv库的gb2312与utf-8的互换函数
Oct 09 PHP
ThinkPHP中自定义目录结构的设置方法
Aug 15 PHP
smarty表格换行实例
Dec 15 PHP
PHP使用正则表达式获取微博中的话题和对象名
Jul 18 PHP
php微信公众平台配置接口开发程序
Sep 22 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 PHP
PHP中文字符串截断无乱码解决方法
Oct 10 PHP
php封装的验证码工具类完整实例
Oct 19 PHP
ThinkPHP 3使用OSS的方法
Jul 19 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
Feb 25 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
Mar 24 PHP
PHP $O00OO0=urldecode & eval 解密,记一次商业源码的去后门
Sep 13 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批量生成缩略图的代码
2008/07/19 PHP
php实现图片上传、剪切功能
2016/05/07 PHP
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
Extjs 几个方法的讨论
2010/01/28 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
手机号码,密码正则验证
2014/09/04 Javascript
PHP PDO操作总结
2014/11/17 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
2015/03/04 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
深入理解JavaScript编程中的原型概念
2015/06/25 Javascript
基于JQuery打造无缝滚动新闻步骤详解
2016/03/31 Javascript
浅谈JavaScript for循环 闭包
2016/06/22 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
微信小程序Getuserinfo解决方案图解
2018/08/24 Javascript
Angular4.0动画操作实例详解
2019/05/10 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
[03:06]V社市场总监Dota2项目负责人Erik专访:希望更多中国玩家加入DOTA2
2014/07/11 DOTA
python实现异步回调机制代码分享
2014/01/10 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
Python实现的读取电脑硬件信息功能示例
2018/05/30 Python
对python中的装包与解包实例详解
2019/08/24 Python
Django模板标签中url使用详解(url跳转到指定页面)
2020/03/19 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
Python sklearn中的.fit与.predict的用法说明
2020/06/28 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
毕业生找工作的求职信范文
2013/12/24 职场文书
会计专业毕业自荐书范文
2014/02/08 职场文书
毕业自我鉴定怎么写
2014/03/25 职场文书
购房公证委托书(2014版)
2014/09/12 职场文书
国际政治学专业推荐信
2014/09/26 职场文书
2014年大学团支部工作总结
2014/12/02 职场文书
试用期解除劳动合同通知书
2015/04/16 职场文书
Django使用echarts进行可视化展示的实践
2021/06/10 Python