PHP。用户定义的比较功能如何工作?

时间:2012-06-09 11:24:39

标签: php compare

示例:

<?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&amp; $b

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

1 个答案:

答案 0 :(得分:3)

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