uksort()

1. 定义

该函数使用用户自定义的函数对数组的键名进行排序。

成功时返回TRUE,失败则返回FALSE。

注:

  • 该函数将保留原来的键名

2. 语法

uksort ( array &$array , callable $key_compare_func ) : bool

3. 参数说明

参数 可选性 数据类型 描述
$array 必需 数组 待排序的数组
$key_compare_func 必需 可回调类型 用户自定义的比较函数,函数原型:callback ( mixed $a, mixed $b ) : int

其中,$key_compare_func参数必须在比较两个参数后,相应地返回一个小于零(第一个参数小于第二个参数时)、大于零(第一个参数大于第二个参数时)或者等于零(两个参数相等时)的整数。

4. 示例

<?php

// uksort()
// 使用用户自定义的函数对数组的**键名**进行排序

$arr = ['id' => 32, 'name' => 'Linn', 'age' => 23, 'gender' => 1, 'profile' => '我是Linn,今年23岁'];
function callback($a, $b) {
    if($a > $b) {
        return -1;
    } else if($a == $b) {
        return 0;
    } else {
        return 1;
    }
}
uksort($arr, 'callback');
var_dump($arr);
/* 输出:
array(5) {
  ["profile"]=>
  string(24) "我是Linn,今年23岁"
  ["name"]=>
  string(4) "Linn"
  ["id"]=>
  int(32)
  ["gender"]=>
  int(1)
  ["age"]=>
  int(23)
}
*/

5. 延展阅读

  • usort():使用用户自定义的比较方法对数组元素进行排序