簡體   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