0

例子:

<?php
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

在用户定义的比较函数' cmd'中,它有两个参数$a& $b

第一个和第二个参数代表什么?它们是array[x]array[x+1]

4

1 回答 1

3

它们只是被排序数组中的两个元素,不一定是邻居。 usort执行某种排序算法(请参阅http://en.wikipedia.org/wiki/Sort_algorithm#Comparison_of_algorithms),其中涉及比较各种元素对以确定它们的顺序。它使用您的回调函数来确定这一点。

于 2012-06-09T11:28:37.843 回答