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

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

307 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判断某个时间戳(打卡、点餐、签到等)是不是今天记录的

php判断时间戳是不是今天的实现方法:首先创建一个PHP示例文件;指定一个时间,并...

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

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

1 290
宝塔Nginx免费防火墙提示post参数(post_max_size)值长度超过20w已被系统拦截怎么办?
宝塔Nginx免费防火墙提示post参数(post_max_size)值长度超过20w已被系统拦截怎么办?

页面提交post请求后被宝塔防火墙拦截,查看日志显示错误:参数值长度超过20w已...

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

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

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

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

1 223
php基础应用:获取今天是星期几并给变量赋值
php基础应用:获取今天是星期几并给变量赋值

在网站的开发过程中,我们经常需要获取今天是星期几,并根据星期的不同而进行不...

0 271
简单的php高并发处理方案分享
简单的php高并发处理方案分享

很多互联网公司对并发要求比较高,如果完全依赖服务器性能的提升,则可能会面临...

0 269
PHP基础函数介绍:PHP_EOL
PHP基础函数介绍:PHP_EOL

PHP_EOL是一个相当好用的函数,可自动适配多种换行格式,在实际的应用中体验非...

0 359
随机PHP开发教程
PHP设置读取删除cookie怎么做?
PHP设置读取删除cookie怎么做?

cookie小甜点在网络上无处不在,通过cookie我们可以可以将很多数据记录在客户...

3 269
php怎样切割post传递的textarea参数取得行数?
php怎样切割post传递的textarea参数取得行数?

网上关于php切割textarea换行符的方法很多,但大多不准。其中一些有效果,但却...

1 254
PHP特殊字符串过滤函数(压缩版本)
PHP特殊字符串过滤函数(压缩版本)

在很多php应用场景中,我们需要用到特殊符号过滤。下面是鸥哥整理出来的一个...

0 259
PHP报错:Allowed memory size of 134217728 bytes exhausted (tried to allocate 21267245
PHP报错:Allowed memory size of 134217728 bytes exhausted (tried to allocate 21267245

PHP报错:Allowed memory size of 134217728 bytes exhausted (tried to allo...

1 267
PHP 正则匹配日志信息 并存入数据库
PHP 正则匹配日志信息 并存入数据库

日志分析许多人可能不在意,但养成查看日志的习惯,可以让你对网站的情况有充分...

3 319
php怎样开发一个访问密码的界面防止资源被爬取?
php怎样开发一个访问密码的界面防止资源被爬取?

互联网上每天都有很多爬虫到处爬取内容,你可能不知道他们是干嘛的,但其中肯定...

1 274
php记录蜘蛛访问日志与抓取频次
php记录蜘蛛访问日志与抓取频次

新站在上线初期,站长们大多特别关注蜘蛛的动向,但系统蜘蛛日志看了又特别别扭...

0 303
一句话防御首页带问号?的垃圾链接分权重
一句话防御首页带问号?的垃圾链接分权重

任何站点但凡有点流量就会遇到这种情况:首页被人用问号传了参数,恰恰还被收录...

1 340
客服QQ:341553759
点击咨询 常见问题 >
官方交流群:90432500
点击加入