首页 > PHP 阅读:169

PHP arsort():对数组排序(降序),并保持索引关系

PHP arsort() 函数用来对数组元素进行降序排序(也就是从高到低排序),并保持索引关系。

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" => "http://c.biancheng.net/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] => http://c.biancheng.net/php/
)
Array
(
    [url] => http://c.biancheng.net/php/
    [author] => changsheng yan
    [language] => PHP
    [update] => 2019-10-29
)

爱面试的程序媛,一个分享面试经验的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,定时分享程序员面试的那点事。

面试如何造火箭?工作如何拧螺丝?都在这个公号哦。

扫描二维码关注公众号,免费领取价值 1000 元的求职面试资料(限时免费)!

当你决定关注「爱面试的程序媛」,你已然超越了90%的程序员!

爱面试的程序媛二维码
微信扫描二维码关注