php数组排序从小到大函数

答案:PHP中常用sort()对索引数组升序排序,asort()按值、ksort()按键对关联数组排序,usort()支持自定义规则;如$numbers = [3,1,4]经sort()变为[1,1,3,4,5],$scores = ['Alice'=>85,'Bob'=>72]经asort()按值排序为['Bob'=>72,'Alice'=>85]。

PHP中对数组进行从小到大排序,常用的函数有以下几个,根据数组类型和需求选择合适的方法:

sort() - 索引数组升序排序

用于对索引数组(数字键名)进行从小到大的排序,排序后键名会重新索引。

$numbers = [3, 1, 4, 1, 5];
sort($numbers);
// 结果:[1, 1, 3, 4, 5]

asort() - 关联数组按值升序排序

用于关联数组,保持键值对应关系,按值从小到大排序。

$scores = ['Alice' => 85, 'Bob' => 72, 'Charlie' => 90];
asort($scores);
// 结果:['Bob'=>72, 'Alice'=>85, 'Charlie'=>90]

ksort() - 按键名升序排序

对关联数组按键名进行从小到大排序,适用于需要按键排序的场景。

$data = [3 => 'apple', 1 => 'banana', 2 => 'cherry'];
ksort($data);
// 结果:[1=>'banana', 2=>'cherry', 3=>'apple']

usort() - 自定义排序函数

当需要更复杂的排序规则时,可以使用 usort() 配合自定义比较函数实现从小到大排序。

$users = [
    ['name' => 'Alice', 'age' => 30],
    ['name' => 'Bob', 'age' => 25]
];
usort($users, function($a, $b) {
    return $a['age'] <=> $b['age']; // 小于0则$a在前
});
// 按年龄从小到大排序

基本上就这些常用方式。普通数字数组用 sort() 最直接,关联数组注意选 asort()ksort(),复杂结构用 usort() 灵活控制。