我有一个如下的数组。我需要对每个数组按2键排序。
myarray [
[2020] = [0 => 123, 1 => 234, 2 => 45],
[2021] = [0 => 123, 1 => 34, 2 => 345],
[2019] = [0 => 123, 1 => 134, 2 => 645]
]
所以结果会是
[2020] =
45
123
234
[2021] =
34
123
345
[2019] =
123
134
645]
我试过了
array_multisort( array_column($myarray, $myarray[2]), SORT_ASC, $myarray );
以及
usort($myarray, array($myarray[2], 'sort_function'));
function sort_function($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
以上两个都不起作用。请有人指出我的错误或正确的方法来做这件事好吗?
下面是对该问题的更好解释:
myarray [
[2020] = [0 => 123, 1 => 234, 2 => 357],
[2020] = [0 => 123, 1 => 34, 2 => 157],
[2020] = [0 => 123, 1 => 134, 2 => 257]
]
[2020] =
157
257
357
1条答案
按热度按时间ctehm74n1#
对于第二个结果,请用途: