uksort

(PHP 4, PHP 5, PHP 7)

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

说明

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

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

Note:

如果两个成员完全相同,那么它们在排序数组中的相对顺序是未定义的。

参数

array

输入的数组。

key_compare_func

在第一个参数小于,等于或大于第二个参数时,该比较函数必须相应地返回一个小于,等于或大于 0 的整数。注意:在 PHP 7.0.0 之前的版本中,整数的区间为 -2147483648 to 2147483647。

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

参见