【问题标题】:how to sort arrays of arrays in php? [duplicate]如何在php中对数组进行排序? [复制]
【发布时间】:2014-04-18 01:02:57
【问题描述】:

我有这个数组。我如何根据 id 的 desc 或 asc 对其进行排序。

Array
(
    [0] => Array
        (
            [data] => Array
                (
                    [id] => 1
                    [title] => Ferrari
                    [price] => 15
                    [model] => 1997
                    [color] => Green
                    [speed] => 80
                )

        )

    [1] => Array
        (
            [data] => Array
                (
                    [id] => 3
                    [title] => Audi
                    [price] => 255
                    [model] => 55
                    [color] => Green
                    [speed] => 99
                )

        )

    [2] => Array
        (
            [data] => Array
                (
                    [id] => 4
                    [title] => BMW
                    [price] => 55
                    [model] => 444
                    [color] => Blue
                    [speed] => 123
                )

        )

)

谢谢。

【问题讨论】:

    标签: php arrays


    【解决方案1】:

    你可以使用usort:

    usort($array, function($a, $b) {
        return $a['data']['id'] < $b['data']['id']? -1 : 1;
    });
    

    【讨论】:

      【解决方案2】:

      我快速搜索了多维数组排序,结果出现了。这似乎是一个很好的解决方案。

      http://www.firsttube.com/read/sorting-a-multi-dimensional-array-with-php/

      由于您将子数组封装在“数据”数组中,因此您需要更改函数的第 3 行:

      function subval_sort($a,$subkey) {
          foreach($a as $k=>$v) {
              $b[$k] = strtolower($v['data'][$subkey]);
          }
          asort($b);
          foreach($b as $key=>$val) {
              $c[] = $a[$key];
          }
          return $c;
      }
      
      $sorted_cars = subval_sort($car_array,'id'); 
      print_r($sorted_cars);
      

      我会从那里开始,看看会返回什么。

      【讨论】:

        猜你喜欢
        • 2017-12-31
        • 2010-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-09
        • 2011-07-20
        • 2018-08-14
        • 2017-05-27
        相关资源
        最近更新 更多