PHP自带的数组函数
- sort() - 以升序对数组排序
- rsort() - 以降序对数组排序
- asort() - 根据值,以升序对关联数组进行排序
- ksort() - 根据键,以升序对关联数组进行排序
- arsort() - 根据值,以降序对关联数组进行排序
- krsort() - 根据键,以降序对关联数组进行排序
- usort() - 根据值,用户自定义函数进行排序
- uksort() - 根据键,用户自定义函数进行排序
二维数组排序
- 方法一:使用array_multisort函数
$users = [
['name'=>'test3', 'age'=>3],
['name'=>'test4', 'age'=>4],
['name'=>'test2', 'age'=>2],
['name'=>'test1', 'age'=>1],
];
$ages = [];
foreach ($users as $user) {
$ages[] = $user['age'];
}
array_multisort($ages, SORT_ASC, $users);
dump($users):
- 方法二:使用usort函数
$users = [
['name'=>'test3', 'age'=>3],
['name'=>'test4', 'age'=>4],
['name'=>'test2', 'age'=>2],
['name'=>'test1', 'age'=>1],
];
usort($users, function($a, $b){
return $a == $b ? 0 : $a>$b ? 1 : -1;
});
dump($users);