php 对多维数组 排序

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

$arr = [
    [1, 2],
    [99, 0],
    [100, -1],
];
array_multisort(
    array_column($arr, 0), SORT_DESC, SORT_NUMERIC,
    $arr
);
var_export($arr);
  • 支持多个字段
    类似order by

    // CPU内存升序
    $cpu = array_column($available, 'Cpu');
    $mem = array_column($available, 'Memory');
    array_multisort(
      $cpu, SORT_ASC, SORT_NUMERIC,
      $mem, SORT_ASC, SORT_NUMERIC,
      $available
    );

相关文章

此处评论已关闭