ksort()

1. 定义

该函数对数组的键名(key)进行升序排序。 成功时返回TRUE,失败则返回FALSE。

注:

  • 排序时该函数会保留所有的键名,主要用于关联数组

2. 语法

ksort ( 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

// ksort()
// 对数组的键名(key)进行排序

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

5. 延展阅读

  • asort():对数组的键值进行升序排序,并保留原来的键名