hello friends I have an array that looks like this:
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"
]
]
My goal is to sort it by the date
. So from new to old.
If tried this:
$comarrSorted = $comarr->sortByDesc('date');
dd($comarrSorted);
But I get this nasty error:
Call to a member function sortByDesc() on array
Anyone can help me out? I guess the error is caused because it's a collection function? Is it not possible to sort my array with this function?
Many Thanks in advance!
You can convert to a collection
, call the sortBy()
and the convert back to an array
all on one line.
$sortedArr = collect($array)->sortBy('date')->all();
you have to create your own function
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);
}
You can use this solution to get the result:
collect($yourArray)->sortBy('Key')->values();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With