2017-07-08 33 views
-1

我有這個數組。我想分類這個,我怎麼能做到這一點?如何按特定屬性對PHP中的關聯數組集合進行排序

array:2 [▼ 
     0 => Collection {#198 ▼ 
     #items: array:2 [▼ 

     0 => {#201 ▼ 

     +"id": 2; 
     +"title": "Now eldest"; 
     +"description": "Now eldest new tastes plenty mother called misery get." 
     +"created_at": "2017-07-07 16:34:00" 
     } 

     1 => {#197 ▼ 

     +"id": 6 
     +"title": "dffd" 
     +"description": "fdfdfdfdfdffdfdf" 
     +"created_at": "2017-07-07 10:23:00" 
     }] } 
     1 => Collection {#189 ▼ 
     #items: array:2 [▼ 

     0 => {#208 ▼ 

     +"id": 5 
     +"title": "However, if you are not using Homestead" 
     +"description": "The Laravel framework has a few system requirements." 
     +"created_at": "2017-07-07 13:37:00" 
     } 

     1 => {#196 ▼ 

     +"id": 7 
     +"title": "fedffdf" 
     +"description": "fdfdfdf" 
     +"created_at": "2017-07-07 09:12:00" 
     }] }] 

我工作的應用程序,我想在時間軸上顯示按時間'created_at'排序的所有帖子。 我該怎麼做?

+0

似乎是一個Laravel集合,如果是的話https://laravel.com/docs/5.4/collections#method-sortby –

+1

總是,如果獲取數據從數據庫中,在該級別進行排序併爲您節省大量性能。 – Doug

回答

1

嘗試usort

usort($collection, function(array $a, array $b) { 
    return $a["created_at"] <=> $b["created_at"]; 
}); 

如果您使用的是PHP的版本不具備<=>操作,試試這個來代替:

usort($collection, function(array $a, array $b) { 
    return $a["created_at"] >= $b["created_at"] ? 1 : -1; 
}); 

鏈接到文件:PHP: usort

相關問題