uksort

(PHP 4, PHP 5, PHP 7, PHP 8)

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

说明

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

使用用户自定义的比较函数对 array 本身进行按键(key)排序以确定顺序。

注意:

如果两个成员完全相同,那么它们将保持原来的顺序。 在 PHP 8.0.0 之前,它们在排序数组中的相对顺序是未定义的。

注意:

重置数组中的内部指针,指向第一个元素。

参数

array

输入的数组。

callback

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

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

返回值

总是返回 true

更新日志

版本 说明
8.0.0 如果 callback 接受引用传递参数,该方法将会抛出 E_WARNING

范例

示例 #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() - 使用用户自定义的比较函数对数组中的值进行排序
  • uasort() - 使用用户自定义的比较函数,保持索引和值的对应关系,原地排序 array。
  • 数组排序函数对比