2017-09-25 253 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()

希望這會有所幫助。

相關問題