下载鸥 > 网站下载 > 开发教程 > PHP

PHP排序函数sort、asort、rsort、krsort、ksort区别与用法详解

433 2021-04-16 08:33:29

收藏

在php中自带了大量了数组排序函数,使用起来非常简单,下面我们一一来介绍一下关于php数组排序的用法吧。
 

PHP常用的排序函数如下:

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排序函数sort、asort、rsort、krsort、ksort区别与用法详解,如果还有什么不懂的欢迎与我交流。

本文地址:https://xzo.com.cn/develop/php/808.html

有帮助,很赞!

信息来源:下载鸥
导出教程 下载word版教程
发表评论 共有条评论
关于PHP

PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。

PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。

推荐PHP开发教程
PHP怎样正则匹配段落里的图片并提取图片链接?
PHP怎样正则匹配段落里的图片并提取图片链接?

在程序开发的过程中,我们可能需要提取段落里的图片用作缩略图。那么,这个正则...

19 924
PHP怎样高效快速地生成一组10条随机数?
PHP怎样高效快速地生成一组10条随机数?

猜你喜欢如果用rand()来获取随机ID是非常消耗性能的。小网站几百几千条数据...

1 440
当缓存文件大于4KB,不能用cookie时的替代方案就是session
当缓存文件大于4KB,不能用cookie时的替代方案就是session

鸥哥最近在开发一个项目,出于对用户隐私的保护,数据一概不能存储到数据表,而是...

1 433
php多维数组foreach循环
php多维数组foreach循环

多维数组在实际开发中比较常见,要foreach循环也很简单。...

0 422
PHP怎样实现从数组随机取值的效果?
PHP怎样实现从数组随机取值的效果?

在开发过程中,我们很多时候会接到猜你喜欢的随机展示效果。这个随机,用php取...

1 342
怎样在每次发起请求时重置session_id?
怎样在每次发起请求时重置session_id?

在一些开发场景中,我们需要在每次发起请求后更新重置session_id以同步用户数...

3 392
什么是高并发,与CPU,内存,分布式有什么关系
什么是高并发,与CPU,内存,分布式有什么关系

我们在网站开发的过程中经常会接触到高并发这个概念,但高并发到底是什么,具体...

1 384
怎样用php批量删除文件或者文件夹?
怎样用php批量删除文件或者文件夹?

在网站建成后的维护与优化阶段,我们会面临无用栏目/数据处理的问题。量小的...

0 377
推荐插件
帝国cms百度AI图像去雾api接口对接插件
帝国cms百度AI图像去雾api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像去雾的功能。经过实际...

0 447
帝国cms百度文字识别ocr接口对接插件
帝国cms百度文字识别ocr接口对接插件

许多网站会做一些小功能小插件给客户使用以增强用户黏性,比如图片转文字,这种...

0 454
帝国cms网站会员登录与退出历史记录日志插件
帝国cms网站会员登录与退出历史记录日志插件

帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...

0 394
帝国cms智能自动审核按星期几审核指定栏目带推送插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件

采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...

0 1263
帝国cms自动生成文章新闻目录插件下载
帝国cms自动生成文章新闻目录插件下载

用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...

0 1112
帝国cms访问统计ip地址链接与封禁插件下载
帝国cms访问统计ip地址链接与封禁插件下载

下载鸥开发了这款帝国cms封禁ip插件,自动记录访问情况,让我们可以更快的识别...

0 1000
帝国cms批量添加后台用户插件
帝国cms批量添加后台用户插件

使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...

0 762
帝国cms联想词搜索高级搜索插件下载
帝国cms联想词搜索高级搜索插件下载

帝国CMS自带的搜索功能虽然强大,但也有很强的局限性 -- 必须关键词完全匹配...

0 722
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入