php usort问题

俏宇
  • 30
function cmp($a, $b)
{
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}
$a = array(3, 2, 5, 6, 1);
usort($a, "cmp");
foreach ($a as $key => $value) {
    echo "$key: $value\n";
}

0: 1
1: 2
2: 3
3: 5
4: 6

为什么 返回 0 || -1 || 1 就可以进行排序了,

回复
阅读 888
1 个回答

http://php.net/manual/zh/func...
文档里已说清了嘛,
在第一个参数小于,等于或大于第二个参数时,该比较函数必须相应地返回一个小于,等于或大于 0 的整数。
这样, 在这个函数内部就以根据返回值决定将正在比较的两项如何排序.

宣传栏