PHP中的多层多维数组排序

PHP中的多层多维数组排序,php,arrays,sorting,multidimensional-array,Php,Arrays,Sorting,Multidimensional Array,我的第一个问题贴在这里,虽然我是一个长期用户。我的PHP技能并不先进。顺便说一句,我用的是PHP7 我发现了与此类似的问题,但与tier元素无关,因此,迄今为止我尝试过的答案都不起作用。对于经验更丰富的PHP程序员来说,这可能是显而易见的 我得到了一些json格式的数据,并将其解码为以下数组: Array ( [soc] => 3421 [series] => Array ( [0] => Array ( [year] =>

我的第一个问题贴在这里,虽然我是一个长期用户。我的PHP技能并不先进。顺便说一句,我用的是PHP7

我发现了与此类似的问题,但与tier元素无关,因此,迄今为止我尝试过的答案都不起作用。对于经验更丰富的PHP程序员来说,这可能是显而易见的

我得到了一些json格式的数据,并将其解码为以下数组:

Array ( 
    [soc] => 3421 
    [series] => Array ( 
            [0] => Array ( [year] => 2013 [estpay] => 620 ) 
            [1] => Array ( [year] => 2015 [estpay] => 580 ) 
    ) 
)
数据来源各不相同,因此有时可用的年数较多,有时可用的年数较少。随着新数据的添加,它也会随着时间的推移而改变

我想对数组进行排序,以便最近一年总是第一年。正如我前面提到的,我已经尝试了一些在这里发布的多维数组的解决方案,但是我使用的数据在数组的较低层中有多维数组,因此我还无法解决如何更改多维数组的示例代码来解决这个问题


正如我提到的,我不是PHP专家,所以请不要在任何回复中假设我的技能水平。谢谢你的帮助

假设您使用的是PHP7,并且正如您所说的,您希望按年份降序排序,那么对于要排序的每个数组,请尝试以下操作:

usort($array, function ($a, $b) {
    return $b['year'] <=> $a['year'];
});
usort($array,function($a,$b){
返回$b['year']$a['year'];
});

什么是
?您希望对哪个数组进行排序:外部数组,还是内部系列的每个数组,或者两者都排序?如果是外部的,在系列中的哪一年,外部的应该被分类?通过最大值、最小值、平均值、和?按层的可能重复,我指的是阵列中较低的级别。我想对包含年份和estpay数据的内部数组进行排序。谢谢,谢谢。为了实现这一点,我必须使用$newarray=$array[series]创建一个新数组,但是当我在新数组上使用它时,它就像一个符咒一样工作。谢谢大家的帮助。