# uksort

(PHP 4, PHP 5, PHP 7)

uksort — 使用用户自定义的比较函数对数组中的键名进行排序

### 说明

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

uksort() 函数将使用用户提供的比较函数对数组中的键名进行排序。如果要排序的数组需要用一种不寻常的标准进行排序，那么应该使用此函数。

> Note:

> If two members compare as equal, their relative order in the sorted array is undefined.

### 参数

`array`

  输入的数组。

`key_compare_func`

  在第一个参数小于，等于或大于第二个参数时，该比较函数必须相应地返回一个小于，等于或大于 0 的整数。

  callback ( mixed `$a`, mixed `$b` ) : int

### 返回值

成功时返回 `TRUE`， 或者在失败时返回 `FALSE`。

### 范例

Example #1 uksort() 例子

    <?php
    function cmp($a, $b)
    {
        $a = preg_replace('@^(a|an|the) @', '', $a);
        $b = preg_replace('@^(a|an|the) @', '', $b);
        return strcasecmp($a, $b);
    }

    $a = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);

    uksort($a, "cmp");

    foreach ($a as $key => $value) {
        echo "$key: $value\n";
    }
    ?>

以上例程会输出：

    an apple: 3
    a banana: 4
    the Earth: 2
    John: 1

### 参见

- usort() - 使用用户自定义的比较函数对数组中的值进行排序
- 数组排序函数对比