uasort() Function
uasort()函数是PHP中的内置函数,用于对数组进行排序,使数组索引使用用户定义的比较函数与与之关联的数组元素保持相关性。
语法
1 | boolean uasort(array_name, user_defined_function); |
参数:该函数接受两个参数,描述如下:
- array_name:这个参数表示我们需要排序的数组。
- user_defined_function:这是一个比较器函数,用于比较值和对数组进行排序。此函数返回以下三种类型的值:
- 当a=b时返回0
- 当a>b时它返回1我们想按升序排列输入数组否则如果我们想按降序排列输入数组它将返回-1。
- 当a<b时它返回-1我们想按升序排列输入数组否则如果我们想按降序排列输入数组它将返回1。
返回值:返回一个布尔值,即成功时为TRUE,失败时为FALSE
例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Input: array ( "a" => 4, "b" => 2, "g" => 8, "d" => 6, "e" => 1, "f" => 9 ) Output: Array ( [e] => 1 [b] => 2 [a] => 4 [d] => 6 [g] => 8 [f] => 9 ) |
下面的程序演示了PHP中的uasort()函数:
- 升序排序:要按升序排序输入数组,在comparator函数中,当a>b时返回1,当a<b时返回-1.下面的程序说明了这一点:
123456789101112131415161718192021<?php// PHP program to sort in ascending// order using uasort() function// user_defined comparator functionfunction sorting($a,$b){if ($a==$b) return 0;return ($a<$b)?-1:1;}// input array$arr=array("a"=>4,"b"=>2,"g"=>8,"d"=>6,"e"=>1,"f"=>9);uasort($arr,"sorting");// printing sorted array.print_r($arr);?>
输出
123456789Array([e] => 1[b] => 2[a] => 4[d] => 6[g] => 8[f] => 9) - 降序排序:要按降序排序输入数组,在comparator函数中,当a>b时返回-1,当a<b时返回1.下面的程序说明了这一点:
1234567891011121314151617181920<?php// PHP program to sort in descending// order using uasort() function// user_defined comparator functionfunction sorting($a, $b){if ($a == $b) return 0;return ($a > $b) ? -1 : 1;}// input array$input = array("d"=>"R", "a"=>"G", "b"=>"X", "f"=>"Z" );uasort($input, "sorting");// printing sorted array.print_r($input);?>
输出
1234567Array([f] => Z[b] => X[d] => R[a] => G)
参考