当参数是多维数组时候
前面参数类似sql中的group by,而最后一个是排序的数据
以下是按0列排序,如果前面有多个条件也可以,SORT_DESC,SORT_NUMERIC这种只对前面的数组排序有效
最后一个数组会跟着前面的数组改变顺序,从而实现多维数组排序

1
2
3
4
5
6
7
8
9
10
$arr = [
[1, 2],
[99, 0],
[100, -1],
];
array_multisort(
array_column($arr, 0), SORT_DESC, SORT_NUMERIC,
$arr
);
var_export($arr);
  • 支持多个字段
    类似order by
1
2
3
4
5
6
7
8
// CPU内存升序
$cpu = array_column($available, 'Cpu');
$mem = array_column($available, 'Memory');
array_multisort(
$cpu, SORT_ASC, SORT_NUMERIC,
$mem, SORT_ASC, SORT_NUMERIC,
$available
);