(PHP 4, PHP 5)
uksort — 使用用户自定义的比较函数对数组中的键名进行排序
本函数将使用用户提供的比较函数对数组中的键名进行排序。如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。
cmp_function
函数应接受两个参数,该参数将被
array
中的一对键名填充。比较函数在第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。
成功时返回 TRUE
, 或者在失败时返回 FALSE
.
Example #1 uksort() 例子
<?php
function cmp($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a > $b) ? -1 : 1;
}
$a = array(4 => "four", 3 => "three", 20 => "twenty", 10 => "ten");
uksort($a, "cmp");
foreach ($a as $key => $value) {
echo "$key: $value\n";
}
?>
以上例程会输出:
20: twenty 10: ten 4: four 3: three
参见 usort(), uasort(), sort(), asort(), arsort(), ksort(), natsort() 和 rsort()。
array
The input array.
cmp_function
在第一个参数小于,等于或大于第二个参数时,该比较函数必须返回一个小于,等于或大于0的整数
成功时返回 TRUE
, 或者在失败时返回 FALSE
.
Example #2 uksort() example
<?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