sort() 對(duì)索引數(shù)組進(jìn)行升序排序,其反函數(shù)是 rsort()
asort() 對(duì)關(guān)聯(lián)數(shù)組的值進(jìn)行升序排序,其反函數(shù)是 arsort()
ksort() 對(duì)關(guān)聯(lián)數(shù)組的鍵名進(jìn)行升序排序,其反函數(shù)是 krsort()
usort() 對(duì)多維數(shù)組進(jìn)行排序 (還有uasort()和uksort()函數(shù),用法一樣)
定義和用法usort() 函數(shù)使用用戶自定義的函數(shù)對(duì)數(shù)組排序。
注釋:如果兩個(gè)元素比較結(jié)果相同,則它們?cè)谂判蚝蟮臄?shù)組中的順序未經(jīng)定義。到 PHP 4.0.6 之前,用戶自定義函數(shù)將保留這些元素的原有順序。但是由于在 4.1.0 中引進(jìn)了新的排序算法,結(jié)果將不是這樣了,因?yàn)閷?duì)此沒有一個(gè)有效的解決方案。
注釋:本函數(shù)為 array 中的元素賦予新的鍵名。這會(huì)刪除原有的鍵名。
語法usort(array,sorttype)
參數(shù) | 描述 |
---|---|
<?phpfunction my_sort($a, $b) { if ($a == $b) return 0; return ($a > $b) ? -1 : 1; }$arr = array("Peter", "glenn","Cleveland","peter","cleveland", "Glenn");usort($arr, "my_sort");print_r ($arr);?>
輸出:
Array([0] => peter[1] => glenn[2] => cleveland[3] => Peter[4] => Glenn[5] => Cleveland)
例2
function compare($a,$b){
if ($a[1]==$b[1]){
return 0;
}elseif ($a[1]>$b[1]){
return 1;
}else{
return -1;
}
}
$arr=array(
array("df",123),
array("aa",333),
array("gg",222)
);
print_r($arr);
echo "<br>";
usort($arr,'compare');
print_r($arr);
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選