asort()

1. 定义

该函数与sort()函数一样,都是对数组的键值进行升序排序,不一样的是该函数会保留原来的键名,而不是重新分配数字键名。 成功时返回TRUE,失败则返回FALSE。

注:该函数主要用于对顺序很重要的数组进行排序。

2. 语法

asort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) : bool

3. 参数说明

参数 可选性 数据类型 描述
$array 必需 数组 待升序排序的数组
$sort_flags 可选 整型或常量 排序比较规则

其中,$sort_flags有以下几个可选值:

  • SORT_REGULAR:默认值,常规比较,不改变值类型
  • SORT_NUMERIC:将数组元素当做数字比较
  • SORT_STRING:将数组元素当做字符串比较
  • SORT_LOCALE_STRING:根据当前的区域设置将数组元素当做字符串比较
  • SORT_NATURAL:与函数natsort()类似,数组元素被当做字符串,以自然顺序进行比较排序
  • SORT_FLAG_CASE:不区分大小写比较,可与常量SORT_STRINGSORT_NATURAL使用OR关键字进行联合使用

4. 示例

<?php

// asort()
// 对数组的**键值**进行**升序**排序,保留原来的键名,而不是重新分配数字键名

$arr = [
    'Name'=>'极速教程',
    'Host'=>'https://www.jisuapi.com/',
    'Contact'=>'18888888888',
    666=>'一个特意加进来的数字索引',
    '中文键名jisu'=>'jisuapi'
];// 关联数组

$res = asort($arr);
var_dump($arr);
/* 输出:
array(5) {
  ["Contact"]=>
  string(11) "18888888888"
  ["Host"]=>
  string(24) "https://www.jisuapi.com/"
  ["中文键名jisu"]=>
  string(7) "jisuapi"
  [666]=>
  string(36) "一个特意加进来的数字索引"
  ["Name"]=>
  string(12) "极速教程"
}
*/

5. 延展阅读

  • arsort():对数组的键值进行降序排序,并保持索引关系