2017-09-25 129 views
-1

基本上标题是问题本身。我有一个集合,它将数组存储在一个字段中。我做了一个排序算法进行梳理的那些阵列和结果进行排序数组:Laravel如何根据数组索引对集合进行排序

array:8 [▼ 
    3 => array:5 [▼ 
    5 => 100 
    1 => 50 
    2 => 30 
    3 => 20 
    4 => 10 
    ] 
    6 => array:5 [▼ 
    1 => 100 
    5 => 50 
    3 => 30 
    4 => 20 
    2 => 10 
    ] 
    2 => array:5 [▼ 
    3 => 100 
    5 => 50 
    4 => 30 
    1 => 20 
    2 => 10 
    ] 

此阵列3,6,2的索引是集合的ID。我如何根据此ID以与数组相同的顺序对集合进行排序?

+0

您需要使用Sortby方法收集 请在此处查看详细信息:https://laravel.com/docs/5.5/collections#method-sortby –

回答

2

假设你有内部$a变量数组:

$a = array:8 [▼ 
     3 => array:5 [▼ 
     5 => 100 
     1 => 50 
     2 => 30 
     3 => 20 
     4 => 10 
     ] 
     6 => array:5 [▼ 
     1 => 100 
     5 => 50 
     3 => 30 
     4 => 20 
     2 => 10 
     ] 
     2 => array:5 [▼ 
     3 => 100 
     5 => 50 
     4 => 30 
     1 => 20 
     2 => 10 
     ] 
    ]; 

那么您可以在升序排列从ksort()关键的参考,并有这样的事情:

foreach($a as $b) 
{ 
    ksort($b); 
} 

同样地,对于降序您可以使用krsort()

希望这会有所帮助。

相关问题