php常用函數之數組(二)

四、數組的排序函數

sort(&$arr [,$sort_type]) 對數組進行排序,並且改變鍵值,不敢原來是什麼類型的數組,排序後的數組均爲索引數組,第二個單詞爲排序的方式,比如是按字符串排序、還是數組等。一般很少使用。排序方式爲升序

rsort(&$arr [,$sort_type]) 和sort一樣,只不過排序方式爲降序

<?php
$arr = array('one','two','three','four','five','six','num'=>'seven');
sort($arr);
echo "<pre>";
print_r($arr);
//結果爲:
$arr = Array(
    [0] => 'five',
    [1] => 'four',
    [2] => 'one',
    [3] => 'seven',
    [4] => 'six',
    [5] => 'three',
    [6] => 'two',
);

$arr = array('one','two','three','four','five','six','num'=>'seven');
rsort($arr);
echo "<pre>";
print_r($arr);
//結果爲:
$arr = Array
(
    [0] => 'two',
    [1] => 'three',
    [2] => 'six',
    [3] => 'seven',
    [4] => 'one',
    [5] => 'four',
    [6] => 'five'
);

usort(&$arr,callback)使用用戶自定義的方式對數組進行排序,排序方式爲升序

ursort(&$arr,callback)和usort差別就是排序方式爲降序

$arr = array(5,-3,-7,1,9,4,2);
function fun($a,$b){
    $a = abs($a);
    $b = abs($b);
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
    
}

usort($arr,'fun');
echo "<pre>";
print_r($arr);
//輸出的結果爲
$arr = Array
(
    [0] => 1,
    [1] => 2,
    [2] => -3,
    [3] => 4,
    [4] => 5,
    [5] => -7,
    [6] => 9,
)

asort(&$arr [,$sort_type]) 對數組進行排序並保持索引關係,升序

arsort(&$arr [,$sort_type]) 降序

$arr = array('one','two','three','four','five','six','num'=>'seven');
asort($arr);
echo "<pre>";
print_r($arr);
//輸出結果爲
$arr = Array
(
    [4] => 'five',
    [3] => 'four',
    [0] => 'one',
    ['num'] => 'seven',
    [5] => 'six',
    [2] => 'three',
    [1] => 'two',
);


ksort(&$arr [,$sort_type]) 對數組按鍵名進行排序,主要用與關聯數組

krsort(&$arr [,$sort_type]) 降序

$arr = array('c'=>'one','d'=>'two','a'=>'three','b'=>'four');
ksort($arr);
echo "<pre>";
print_r($arr);
//輸出結果爲
$arr = Array
(
    ['a'] => 'three',
    ['b'] => 'four',
    ['c'] => 'one',
    ['d'] => 'two',
)



uasort(&$arr,callback) 使用用戶自定義的比較函數對數組中的值進行排序並保持索引關聯

uksort(&$arr,callback) 使用用戶自定義的比較函數對數組中的鍵名進行排序

此函數和上面函數類似,不再舉例


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章