1. PHP 的数组排序函数
特别注意:以下函数都是直接修改原数组
序号 | 函数 | 描述 |
---|---|---|
1 | sort() | 对数组进行升序排列 |
2 | rsort() | 对数组进行降序排列 |
3 | asort() | 根据键值,对关联数组进行升序排列 |
4 | arsort() | 根据键值,对关联数组进行降序排列 |
5 | ksort() | 根据键名,对关联数组进行升序排列 |
6 | krsort() | 根据键名,对关联数组进行降序排列 |
2. 使用示例
sort():修改原数组,对键值进行升序排列,重新赋予键名
$arr = [4, 1, 5, 3, 2];
sort($arr);
var_dump($arr);//[1, 2, 3, 4, 5]
rsort():修改原数组,对键值进行降序排列,删除原键名
$arr = [4, 1, 5, 3, 2];
sort($arr);
var_dump($arr);//[5, 4, 3, 2, 1]
asort():修改原数组,根据键值对数组单元进行升序排列,保留键名
$arr = [4, 1, 5, 3, 2];
asort($arr);
var_dump($arr);//[1 => 1, 4 => 2, 3 => 3, 0 => 4, 2 => 5]
arsort():修改原数组,根据键值对数组单元进行降序排列,保留键名
$arr = [4, 1, 5, 3, 2];
arsort($arr);
var_dump($arr);//[2 => 5, 0 => 4, 3 => 3, 4 => 2, 1 => 1]
ksort():修改原数组,根据键名对数组单元进行升序排列,保留键名
$arr = [
'e' => 'html',
'c' => 'css',
'b' => 'js',
'a' => 'vue',
'd' => 'php'
];
ksort($arr);
var_dump($arr);
/* 运行结果
array(5) {
["a"]=>
string(3) "vue"
["b"]=>
string(2) "js"
["c"]=>
string(3) "css"
["d"]=>
string(3) "php"
["e"]=>
string(4) "html"
}
*/
krsort():修改原数组,根据键名对数组单元进行降序排列,保留键名
$arr = [
'e' => 'html',
'c' => 'css',
'b' => 'js',
'a' => 'vue',
'd' => 'php'
];
krsort($arr);
var_dump($arr);
/* 运行结果
array(5) {
["e"]=>
string(4) "html"
["d"]=>
string(3) "php"
["c"]=>
string(3) "css"
["b"]=>
string(2) "js"
["a"]=>
string(3) "vue"
}
*/