如何在php Laravel中对关联数组进行排序

How to sort an assocoative array in php Laravel

本问题已经有最佳答案,请猛点这里访问。

我想根据计数按降序对这个数组进行排序。这是我的array

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
array(  
   46 =>
      array (
       'name' => 'HSR Layout',
       'url' => 'hsr-layout',
       'count' => 2,
      ),

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


如果您使用的是laravel,正如您的标签所建议的那样,那么您可以使用collections来操作这样的数组。例如:

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


使用array_multisort()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$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);

程序输出

2

现场演示:单击此处