繁体   English   中英

如何在laravel中对包含集合的数组进行排序?

[英]How to sort an array that contains collection in laravel?

[
    {
        "clubName": "FC Nightmare",
        "win": 0,
        "played": 1,
        "draw": 0,
        "lose": 1,
        "gs": 1,
        "ga": 2,
        "gd": -1,
        "points": 0
    },
    {
        "clubName": "Manchester City",
        "win": 1,
        "played": 1,
        "draw": 0,
        "lose": 0,
        "gs": 3,
        "ga": 2,
        "gd": 1,
        "points": 3
    },
    {
        "clubName": "Inter Milan",
        "win": 0,
        "played": 1,
        "draw": 0,
        "lose": 1,
        "gs": 2,
        "ga": 3,
        "gd": -1,
        "points": 0
    },
    {
        "clubName": "AC Milan",
        "win": 1,
        "played": 1,
        "draw": 0,
        "lose": 0,
        "gs": 2,
        "ga": 1,
        "gd": 1,
        "points": 3
    }
]

我有这个array.i我想按点对这个数组进行排序。如何在laravel中做到这一点?

我已经试过了:

在array_multisort(array_column($ point_table, '分'),$ point_table);

但这不起作用..

如果使用标签建议的Laravel,则可以使用集合来操纵数组。 例如:

$array = collect($array)->sortBy('count')->reverse()->toArray();

要么

使用array_multisort()

$array = array(   
   46 => 
      array (
       'name' => 'HSR Layout',
       'url' => 'hsr-layout',
       'count' => 2,
      ),

   37 => 
      array (
       'name' => 'Electronic City',
       'url' => 'electronic-city',
       'count' => 3,
      )
  );

$price = array();
foreach ($array as $key => $row)
{
    $count[$key] = $row['count'];
}
array_multisort($count, SORT_DESC, $array);

print_r($array);    

您可以使用简单的php函数usort做到这一点。

还要配合laravel的收藏:

collect($point_table)->sortBy('points');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM