你好朋友我有一个看起来像这样的数组:
array:3 [▼ 0 => array:6 [▼ "date" => "2016-05-31 15:08:33" 0 => "31 May 16" 1 => "aze" 2 => "2" 3 => "hi" 4 => "487841464704194.jpg" ] 1 => array:6 [▼ "date" => "2016-05-31 15:26:09" 0 => "31 May 16" 1 => "aze" 2 => "2" 3 => "hey" 4 => "487841464704194.jpg" ] 2 => array:6 [▼ "date" => "2016-06-01 11:33:06" 0 => "01 Jun 16" 1 => "aze" 2 => "2" 3 => "Dm me please" 4 => "487841464704194.jpg" ] ]
我的目标是按日期排序.所以从新到旧.
如果试过这个:
$comarrSorted = $comarr->sortByDesc('date'); dd($comarrSorted);
但我得到了这个令人讨厌的错误:
Call to a member function sortByDesc() on array
有人可以帮帮我吗?我猜这个错误是因为它是一个收集函数?是不是可以用这个函数对我的数组进行排序?
提前谢谢了!
解决方法
你必须创建自己的功能
array_sort_by_column($array,'date'); function array_sort_by_column(&$array,$column,$direction = SORT_ASC) { $reference_array = array(); foreach($array as $key => $row) { $reference_array[$key] = $row[$column]; } array_multisort($reference_array,$direction,$array); }