我在PHP手册中读过uksort
,但很难理解。
谁能帮我?
下面是一个示例:
<?php
function my_sort($x, $y)
{
if ($x == $y) return 0;
return ($x > $y) ? -1 : 1;
}
$people = array(
"10" => "javascript",
"20" => "php", "60" => "vbscript",
"40" => "jsp");
uksort($people, "my_sort");
print_r($people);
?>
这是怎么回事?
如手册中所述,您的函数(在本例中my_sort
(应返回:
- 负整数(在本例中为
-1
(,如果您认为$a
小于$b
- 如果认为
$a
大于$b
,则为正整数 -
0
您是否认为它们是相同的。
正如您可能已经猜到的那样,uksort
将使用您的比较函数来查看元素在排序数组中的顺序。它将多次调用您的函数,每次使用两个键。您将这些键与彼此的键进行比较,并返回结果。
这个想法是,你可以编写自己的比较函数,做一些不平凡的事情,例如,如果你想让某个键始终排在第一位。您的简单示例可以使用常规 krsort。