PHP 数组函数

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

语法

bool uasort ( array &$array , callable $value_compare_func ); 

参数

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

返回类型

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

例子1

<?php
function   compare($a,$b)
{
    if ($a==$b) return 0;
    return ($a<$b)?-1:1;
}
$sports=array("a"=>"tennis","b"=>"badminton","c"=>"football","d"=>"cricket");
uasort($sports,"compare");
print_r($sports);
?> 

输出:

Array
(
[b] => badminton
[d] => cricket
[c] => football
[a] => tennis
)

例子2

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

输出:

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

例子3

<?php
function sorting($x, $y) 
{
    if ($x == $y) return 0;
    return ($x > $y) ? -1 : 1;
}
$input = array("d"=>"1", "a"=>"2", "b"=>"3", "f"=>"4" );
uasort($input, "sorting");
print_r($input);
?> 

输出:

Array
(
[f] => 4
[b] => 3
[a] => 2
[d] => 1
)