php 对数值字段的多数组进行排序

ru9i0ody  于 2023-02-07  发布在  PHP
关注(0)|答案(1)|浏览(109)

我有一个如下的数组。我需要对每个数组按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
ctehm74n

ctehm74n1#

对于第二个结果,请用途:

$second_elements = array_column($myarray, 2);
sort($second_elements);

相关问题