四、數組的排序函數
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) 使用用戶自定義的比較函數對數組中的鍵名進行排序
此函數和上面函數類似,不再舉例