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'には、2つの引数$a&があり$bます。

最初と2番目の引数は何を表していますか?彼らarray[x]array[x+1]ですか?

4

1 に答える 1

3

これらは、ソートされる配列の要素の2つにすぎず、必ずしも隣接するものではありません。 usortソートアルゴリズム(http://en.wikipedia.org/wiki/Sort_algorithm#Comparison_of_algorithmsを参照)を実行します。これには、要素のさまざまなペアを比較して順序を決定することが含まれます。これを決定するためにコールバック関数を使用します。

于 2012-06-09T11:28:37.843 に答える