sort();对数组的值进行正向排序,从小到大
$arr = [3,6,1,7,2,5,4];
sort($arr);
print_r($arr);
//Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 )
rsort();对数组的值进行逆向排序,从大到小
$arr = [3,6,1,7,2,5,4];
rsort($arr);
print_r($arr);
//Array ( [0] => 7 [1] => 6 [2] => 5 [3] => 4 [4] => 3 [5] => 2 [6] => 1 )
ksort();对数组的键名进行正向排序,从小到大
$arr = ['a'=>1,'c'=>2,'b'=>3,'d'=>4];
ksort($arr);
print_r($arr);
//Array ( [a] => 1 [b] => 3 [c] => 2 [d] => 4 )
krsort();对数组的键名进行反向排序.从大到小
$arr = ['a'=>1,'c'=>2,'b'=>3,'d'=>4];
krsort($arr);
print_r($arr);
//Array ( [d] => 4 [c] => 2 [b] => 3 [a] => 1 )
asort();对数组的值进行正向排序从小到大,不改变值的索引
$arr=['a'=>2,'c'=>1,'b'=>4,'d'=>3];
asort($arr);
print_r($arr);
//Array ( [c] => 1 [a] => 2 [d] => 3 [b] => 4 )
arsort();对数组的值进行逆向排序,从大到小,不改变值的索引
$arr = ['a'=>2,'c'=>1,'b'=>4,'d'=>3];
arsort($arr);
print_r($arr);
//Array ( [b] => 4 [d] => 3 [a] => 2 [c] => 1 )
array_multisort();对多个数组或这多维数组进行排序,关联数组键名保持不变,数字键名会被重新索引
$arr1=[1,2,3,4,5];
$arr2=[5,4,3,2,1];
array_multisort($arr1,SORT_DESC,$arr2,SORT_ASC);
print_r($arr1);
print_r($arr2);
//Array ( [0] => 5 [1] => 4 [2] => 3 [3] => 2 [4] => 1 )
//Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
array_multisort();排序多维数组
$arr1 = [
[1,2,3,4,5],
[5,4,3,2,1]
];
array_multisort($arr1[0],SORT_DESC,$arr1[1],SORT_ASC);
print_r($arr1);
// Array (
[0] => Array ( [0] => 5 [1] => 4 [2] => 3 [3] => 2 [4] => 1 )
[1] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
)