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 相关文章推荐
为查询结果建立向后/向前按钮
Oct 09 PHP
PHP has encountered an Access Violation
Jan 15 PHP
Laravel 5 框架入门(三)
Apr 09 PHP
php隐藏实际地址的文件下载方法
Apr 18 PHP
php结合curl实现多线程抓取
Jul 09 PHP
php构造函数与析构函数
Apr 23 PHP
Netbeans 8.2将支持PHP7 更精彩
Jun 13 PHP
分析PHP中单双引号的误区和双引号小隐患
Jul 19 PHP
PHP入门教程之表单与验证实例详解
Sep 11 PHP
php fseek函数读取大文件两种方法
Oct 12 PHP
PHP编译configure时常见错误的总结
Aug 17 PHP
PHP设计模式之适配器模式原理与用法分析
Apr 25 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中MD5函数使用实例代码
2008/06/07 PHP
php字符串按照单词进行反转的方法
2015/03/14 PHP
php简单实现多语言切换的方法
2016/05/09 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
php生成短网址/短链接原理和用法实例分析
2020/05/29 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
2020/12/01 PHP
Javascript !!的作用
2008/12/04 Javascript
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
Javascript中对象继承的实现小例
2014/05/12 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
jquery实现下拉框功能效果【实例代码】
2016/05/06 Javascript
JS button按钮实现submit按钮提交效果
2016/11/01 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
jQuery 常见小例汇总
2016/12/14 Javascript
微信小程序-可移动菜单的实现过程详解
2019/06/24 Javascript
微信小程序用canvas画图并分享
2020/03/09 Javascript
Element Dialog对话框的使用示例
2020/07/26 Javascript
Python生成随机MAC地址
2015/03/10 Python
Python3.2中的字符串函数学习总结
2015/04/23 Python
python脚本监控docker容器
2016/04/27 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
2020/02/17 Python
Python datetime模块使用方法小结
2020/06/18 Python
Linux系统下升级pip的完整步骤
2021/01/31 Python
戴森香港官方网站:Dyson香港
2021/02/11 全球购物
德国高尔夫商店:Par71.de
2020/11/29 全球购物
网络事业创业计划书范文
2014/01/09 职场文书
管理学院毕业生自荐信范文
2014/03/10 职场文书
旅游活动总结
2014/08/27 职场文书
财政专业大学生职业生涯规划书
2014/09/17 职场文书
避暑山庄导游词
2015/02/04 职场文书
音乐研修感悟
2015/11/18 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
Go中使用gjson来操作JSON数据的实现
2022/08/14 Golang