uksort() Function
uksort()函数是PHP中的内置函数,用于根据键对数组进行排序,而不是使用用户定义的比较函数对值进行排序。
语法
1 | boolean uksort($array, myFunction); |
参数:该函数接受两个参数,描述如下:
- $array:这个参数指定我们需要排序的数组。
- myFunction:此参数指定用户定义函数的名称,该函数将用于对数组$array的键进行排序。这个比较函数必须返回一个整数。
返回值:这个函数返回一个布尔值。成功时返回真,失败时返回假。
下面的程序演示了PHP中的uksort()函数:
程序1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?php // user-defined comparison function function my_sort($x, $y) { if ($x == $y) return 0; return ($x > $y) ? -1 : 1; } // Input array $names = array( "10" => "javascript", "20" => "php", "60" => "vbscript", "40" => "jsp" ); uksort($names, "my_sort"); // printing sorted array print_r ($names); ?> |
输出
1 2 3 4 5 6 7 | Array ( [60] => vbscript [40] => jsp [20] => php [10] => javascript ) |
程序2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?php // user-defined comparison function function my_sort($x, $y) { if ($x == $y) return 0; return ($x > $y) ? 1 : -1; } // Input array $names = array( "10" => "javascript", "20" => "php", "60" => "vbscript", "40" => "jsp" ); uksort($names, "my_sort"); // printing sorted array print_r ($names); ?> |
输出
1 2 3 4 5 6 7 | Array ( [10] => javascript [20] => php [40] => jsp [60] => vbscript ) |
注意:如果两个值按照用户定义的比较函数相等进行比较,那么它们在输出数组中的顺序将不定义。
参考
http://php.net/manual/en/function.uksort.php