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执行批量mysql语句的解决方法
May 02 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
May 07 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
Apr 20 PHP
php中header设置常见文件类型的content-type
Jun 23 PHP
一张表搞清楚php is_null、empty、isset的区别
Jul 07 PHP
浅谈PHP中output_buffering
Jul 13 PHP
php + nginx项目中的权限详解
May 23 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
Jul 03 PHP
PHP用函数嵌入网站访问量计数器
Oct 27 PHP
Yii2框架加载css和js文件的方法分析
May 25 PHP
Laravel框架Eloquent ORM修改数据操作示例
Dec 03 PHP
aec加密 php_php aes加密解密类(兼容php5、php7)
Mar 14 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
超神学院:鹤熙已踏入神圣领域,实力不比凯莎弱
2020/03/02 国漫
php遍历类中包含的所有元素的方法
2015/05/12 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
2019/09/26 PHP
常用js脚本
2006/12/03 Javascript
JS小框架 fly javascript framework
2009/11/26 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
2013/07/18 Javascript
JS获取当前日期和时间的简单实例
2013/11/19 Javascript
Javascript的无new构建实例详解
2016/05/15 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
jQuery删除当前节点元素
2016/12/07 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
2017/07/18 Javascript
浅谈angular.js跨域post解决方案
2017/08/30 Javascript
详解js删除数组中的指定元素
2018/10/31 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
Bootstrap简单实用的表单验证插件BootstrapValidator用法实例详解
2020/03/29 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
[01:08]2014DOTA2展望TI 剑指西雅图LGD战队专访
2014/06/30 DOTA
浅谈pyhton学习中出现的各种问题(新手必看)
2017/05/17 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
Python变量格式化输出实现原理解析
2020/08/06 Python
通过实例解析python subprocess模块原理及用法
2020/10/10 Python
印度尼西亚手表和包包商店:Urban Icon
2019/12/12 全球购物
生产班组长岗位职责
2014/01/05 职场文书
公务员职业生涯规划书范文  
2014/01/19 职场文书
抗洪抢险事迹材料
2014/05/06 职场文书
环保建议书300字
2014/05/14 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
争先创优活动总结
2014/08/27 职场文书
公共艺术专业自荐信
2014/09/01 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
罗马假日观后感
2015/06/08 职场文书
幼儿园安全管理制度
2015/08/05 职场文书
Python实现位图分割的效果
2021/11/20 Python