Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-年和月数组键和内部值排序_Php_Arrays_Sorting - Fatal编程技术网

PHP-年和月数组键和内部值排序

PHP-年和月数组键和内部值排序,php,arrays,sorting,Php,Arrays,Sorting,下面是一个php数组,表示年份和月份: array:3 [ 2017 => array:2 [ 0 => "2" 1 => "3" ] 2018 => array:2 [ 0 => "1" 1 => "5" ] 2019 => array:3 [ 0 => "10" 1 => "12" 2 => "6" ] ] 我想根据第一级的键(降序)和第二级的值(降序

下面是一个php数组,表示年份和月份:

array:3 [
  2017 => array:2 [
    0 => "2"
    1 => "3"
  ]
  2018 => array:2 [
    0 => "1"
    1 => "5"
  ]
  2019 => array:3 [
    0 => "10"
    1 => "12"
    2 => "6"
  ]
]
我想根据第一级的键(降序)和第二级的值(降序)对其进行排序。至此,将出现最近一年中最近一个月的记录。因此,输出必须是:

array:3 [
  2019 => array:3 [
      0 => "12"
      1 => "10"
      2 => "6"
    ]
  2018 => array:2 [
      0 => "5"
      1 => "1"
  ]
  2017 => array:2 [
    0 => "3"
    1 => "2"
  ]
]

这只是一个应用于阵列顶层和每个子层的问题:

krsort($array);
array_walk($array, function (&$v) { rsort($v); });
输出:

Array
(
    [2019] => Array
        (
            [0] => 12
            [1] => 10
            [2] => 6
        )
    [2018] => Array
        (
            [0] => 5
            [1] => 1
        )
    [2017] => Array
        (
            [0] => 3
            [1] => 2
        )
)

这只是一个应用于阵列顶层和每个子层的问题:

krsort($array);
array_walk($array, function (&$v) { rsort($v); });
输出:

Array
(
    [2019] => Array
        (
            [0] => 12
            [1] => 10
            [2] => 6
        )
    [2018] => Array
        (
            [0] => 5
            [1] => 1
        )
    [2017] => Array
        (
            [0] => 3
            [1] => 2
        )
)

@xrkalix不用担心-我很高兴能帮上忙。我编辑了这个问题。因为我实际上是在对一个数组进行排序,该数组包含年和月的记录。现在最新的记录将首先出现。@xrkalix不用担心-我很高兴能帮上忙。我编辑了这个问题。因为我实际上是在对一个数组进行排序,该数组包含年和月的记录。现在最新的记录将首先出现。