php通过嵌套数组中的键对多维数组进行排序

时间:2018-08-02 09:21:35

标签: php arrays sorting

我想用整数对内部数组排序...
这是数组:

  2018 => array:3 [▼
    "08" => array:3 [▼
      1 => 1
      8 => 2
      2 => 1
    ]
    "07" => array:2 [▼
      2 => 2
      1 => 8
    ]
    "05" => array:1 [▼
      1 => 16
    ]
  ]

我想对这个数组进行排序,以便得到以下结果:

 2018 => array:3 [▼
    "08" => array:3 [▼
      1 => 1
      2 => 1
      8 => 2
    ]
    "07" => array:2 [▼
      1 => 8
      2 => 2
    ]
    "05" => array:1 [▼
      1 => 16
    ]
  ]

我尝试使用嵌套的array_walk和ksort,但这不起作用:

array_walk($statistics, function ($a) {
        array_walk($a, 'ksort');
    });
  

编辑:

自己搞定这是解决方案:

        array_walk($statistics, function (&$a) {
            array_walk($a, function (&$b) {
                ksort($b);
            });
        });

1 个答案:

答案 0 :(得分:0)

尝试以下代码:

$sortedStatistics = array_map(function($year) {
    return array_map(function($month) {
        ksort($month);
        return $month;

    }, $year);
}, $statistics);