【问题标题】:php sort multidimensional array by key in nested arrayphp在嵌套数组中按键排序多维数组
【发布时间】:2018-08-02 09:21:34
【问题描述】:

我想按整数对内部数组进行排序...
这是数组:

  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);
            });
        });

【问题讨论】:

  • 我认为如果您搜索问题的标题,您可能会轻松找到正确的答案。你有没有想过尝试一下?
  • 或者可能只是使用一个简单的 foreach 和 ksort 就足够了
  • 是的,我进行了搜索,只找到了关联数组的答案。不适用于我的具体情况。我已经更新了我的问题,因为我自己找到了解决方案。

标签: php arrays sorting


【解决方案1】:

试试这个代码:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 2021-01-11
    • 2010-10-28
    • 1970-01-01
    相关资源
    最近更新 更多