PHPuksort( )
函数用于使用用户定义的比较函数按元素键对数组进行排序。此函数是在 PHP 4.0 中引入的。
简单来说就是使用开发者自定义的函数按照数组的键对数组进行排序
语法
bool uksort ( array &$array , callable $key_compare_func );
参数
参数 | 描述 | 必须/可选 |
---|---|---|
array | 指定待排序的数组 | 必须 |
key_compare_func | 该函数是一个比较函数,用于比较值和对数组进行排序。此函数返回三种类型的值。
| 可选 |
返回类型
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 )
(
[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
)
(
[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
)
(
[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
)
(
[8] => football
[4] => badminton
[2] => hockey
[1] => cricket
)