数组 函数
PHP Manual

uksort

(PHP 4, PHP 5)

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

说明

bool uksort ( array &$array , callback $cmp_function )

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

cmp_function 函数应接受两个参数,该参数将被 array 中的一对键名填充。比较函数在第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。

成功时返回 TRUE, 或者在失败时返回 FALSE.

Example #1 uksort() 例子

<?php
function cmp($a$b)
{
    if (
$a == $b) {
        return 
0;
    }
    return (
$a $b) ? -1;
}

$a = array(=> "four"=> "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的整数

int callback ( mixed $a, mixed $b )

返回值

成功时返回 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

参见


数组 函数
PHP Manual