PHP arsort():对数组排序(降序),并保持索引关系
PHP arsort() 函数用来对数组元素进行降序排序(也就是从高到低排序),并保持索引关系。
arsort() 和 asort() 的功能相反,asort() 会对数组元素进行升序排序。
arsort() 语法如下:
arsort() 函数调用结束后, arr 数组元素会按照从高到低的顺序重新排列,并保持值和索引的关系。
返回值:排序成功返回 TRUE,失败返回 FALSE。
【实例】arsort() 和 asort() 的对比:
arsort() 和 asort() 的功能相反,asort() 会对数组元素进行升序排序。
arsort() 语法如下:
bool arsort ( array &$arr [, int $sort_mode = SORT_REGULAR ] )
参数说明:- arr 是要排序的数组。
-
sort_mode 表示排序模式,是一个可选参数。sort_mode 可以使用如下的值:
- SORT_REGULAR:正常比较元素,不改变元素的类型(默认值)。
- SORT_NUMERIC:元素被作为数字来比较。
- SORT_STRING:元素被作为字符串来比较。
- SORT_LOCALE_STRING:根据当前的区域(locale)设置把元素当作字符串比较,可以用 setlocale() 来改变。
- SORT_NATURAL:和 natsort() 类似,对每个元素以“自然的顺序”对字符串进行排序,是 PHP 5.4.0 中新增的一个参数。
- SORT_FLAG_CASE:能够与 SORT_STRING 或 SORT_NATURAL 合并(OR 位运算),不区分大小写排序字符串。
arsort() 函数调用结束后, arr 数组元素会按照从高到低的顺序重新排列,并保持值和索引的关系。
返回值:排序成功返回 TRUE,失败返回 FALSE。
函数 | 说明 |
---|---|
sort() | 对数组元素进行升序排序(从小到大)。 |
rsort() | 对数组元素进行降序排序(从大到小)。 |
asort() | 对数组元素进行升序排序(从小到大),并保持索引关系。 |
arsort() | 对数组元素进行降序排序(从大到小),并保持索引关系。 |
shuffle() | 对数组元素进行随机排序,也就是随机打乱数组。 |
【实例】arsort() 和 asort() 的对比:
<?php $info = array( "url" => "https://www.xinbaoku.com/php/", "language" => "PHP", "update" => "2019-10-29", "author" => "changsheng yan" ); $info_copy = $info; asort($info, SORT_STRING); print_r($info); arsort($info_copy, SORT_STRING); print_r($info_copy); ?>运行结果:
Array
(
[update] => 2019-10-29
[language] => PHP
[author] => changsheng yan
[url] => https://www.xinbaoku.com/php/
)
Array
(
[url] => https://www.xinbaoku.com/php/
[author] => changsheng yan
[language] => PHP
[update] => 2019-10-29
)
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算