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的5个入手程序
Nov 23 PHP
获取远程文件大小的php函数
Jan 11 PHP
php中对2个数组相加的函数
Jun 24 PHP
php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
Oct 31 PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
Sep 22 PHP
PHP函数in_array()使用详解
Aug 20 PHP
PHP 验证登陆类分享
Mar 13 PHP
php+ajax实现无刷新动态加载数据技术
Apr 28 PHP
php自定义函数实现二维数组按指定key排序的方法
Sep 29 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
Sep 26 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 PHP
tp5.1框架数据库子查询操作实例分析
May 26 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实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
php事务处理实例详解
2014/07/11 PHP
php在数组中查找指定值的方法
2015/03/17 PHP
Symfony2开发之控制器用法实例分析
2016/02/05 PHP
在vs2010中调试javascript代码方法
2011/02/11 Javascript
用jquery等比例控制图片宽高的具体实现
2014/01/28 Javascript
jQuery事件委托之Safari
2016/07/05 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
微信小程序 自己制作小组件实例详解
2016/12/22 Javascript
JavaScript实现的数字与字符串转换功能示例
2017/08/23 Javascript
js传递数组参数到后台controller的方法
2018/03/29 Javascript
JS获取指定月份的天数两种实现方法
2018/06/22 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
vue实现拖拽的简单案例 不超出可视区域
2019/07/25 Javascript
JS异步处理的进化史深入讲解
2019/08/25 Javascript
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
在Python中使用swapCase()方法转换大小写的教程
2015/05/20 Python
理解生产者消费者模型及在Python编程中的运用实例
2016/06/26 Python
tensorflow 加载部分变量的实例讲解
2018/07/27 Python
Python:slice与indices的用法
2019/11/25 Python
详解python os.path.exists判断文件或文件夹是否存在
2020/11/16 Python
匡威爱尔兰官网:Converse爱尔兰
2019/06/09 全球购物
Kathmandu新西兰官网:新西兰户外运动品牌
2019/07/27 全球购物
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
环境科学专业优秀毕业生自荐书
2014/02/03 职场文书
语文教学随笔感言
2014/02/18 职场文书
广告学专业自荐信范文
2014/02/24 职场文书
《钱学森》听课反思
2014/03/01 职场文书
建议书怎么写
2014/03/12 职场文书
社区反邪教工作方案
2014/06/16 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
给校长的一封检讨书
2014/09/20 职场文书
小学语文教师研修日志
2015/11/13 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书
Win11跳过联网界面创建本地管理账户的3种方法
2022/04/20 数码科技
3050和2060哪个好 性能差多少 差距有多大 谁更有性价比
2022/06/17 数码科技