PHP二维数组排序

使用array_multisort函数实现

array_multisort

array_multisort() 函数对多个数组或多维数组进行排序。 参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。

代码如下

$user = [
    'xiaoming' => ['name'=>'小明','age'=>18],
    'xiali'    => ['name'=>'小李','age'=>24],
    'xiaowang' => ['name'=>'小王','age'=>20]
];
//按照age从小到大进行排序
//将age提取出来存储到一维数组里,然后按照age升序排列
$ages = array();
foreach ($user as $key => $value) {
    $ages[] = $value['age'];

}
//使用array_multisort进行排序
array_multisort($ages, SORT_ASC, $user);
//打印
var_dump($user);

THE END