PHP 数组函数

PHPuksort( ) 函数用于使用用户定义的比较函数按元素键对数组进行排序。此函数是在 PHP 4.0 中引入的。

简单来说就是使用开发者自定义的函数按照数组的键对数组进行排序

语法

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

参数

参数描述必须/可选
array指定待排序的数组必须
key_compare_func该函数是一个比较函数,用于比较值和对数组进行排序。此函数返回三种类型的值。
  1. 如果a=b,返回0
  2. 如果a>b,返回1
  3. 如果是a<b,返回-1
可选

返回类型

uksort( ) 函数在成功时返回 true,在失败时返回 false。

例子1

<?php
function   userfunction($a, $b) 
{
    if ($a == $b) return 0;
    return ($a > $b) ? -1 : 1;
}
$input = array("d"=>"mango", "a"=>"apple", "b"=>"banana" );
uksort($input, "userfunction");
print_r($input);
?> 

输出:

Array
(
[d] => mango
[b] => banana
[a] => apple )

例子2

<?php
function  compare($x, $y)
{
    if ($x == $y) return 0;
    return ($x > $y) ? -1 : 1;
}
$language = array("1" => "java","2" => "php", "6" => "python","4" => "ruby");
uksort($language, "compare");
print_r ($language);
?> 

输出:

Array
(
[6] => python
[4] => ruby
[2] => php
[1] => java
)

例子3

<?php
function   user($a,$b)
{
    if ($a==$b) return 0;
    return ($a<$b)?-1:1;
}
$numbers=array("a"=>9,"b"=>2,"c"=>60,"d"=>78);
uksort($numbers,"user");
print_r($numbers);
?> 

输出:

Array
(
[a] => 9
[b] => 2
[c] => 60
[d] => 78
)

例子4

<?php
function   myfunction($x, $y)
{
    if ($x == $y) return 0;
    return ($x > $y) ? -1 : 1;
}
$sports = array("1" => "cricket","2" => "hockey", "8" => "football","4" =>"badminton");
uksort($sports, "myfunction");
print_r ($sports);
?> 

输出:

Array
(
[8] => football
[4] => badminton
[2] => hockey
[1] => cricket
)