鍍金池/ 問(wèn)答/PHP/ php usort問(wèn)題

php usort問(wèn)題

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 就可以進(jìn)行排序了,

回答
編輯回答
做不到

http://php.net/manual/zh/func...
文檔里已說(shuō)清了嘛,
在第一個(gè)參數(shù)小于,等于或大于第二個(gè)參數(shù)時(shí),該比較函數(shù)必須相應(yīng)地返回一個(gè)小于,等于或大于 0 的整數(shù)。
這樣, 在這個(gè)函數(shù)內(nèi)部就以根據(jù)返回值決定將正在比較的兩項(xiàng)如何排序.

2018年1月12日 14:39