PHP: descending asort doesn't work?
arrays, asort, php, sorting
Solution
Try `usort` with defined ordering function as the documentation says. http://www.php.net/manual/en/function.usort.php
function sortSomething($a, $b){
if ($a < $b){
return -1;
}
else if ($a > $b){
return 1;
}
else{
return 0;
}
};
// Now sort the array using the comparison function
usort($array, 'sortSomething');
This sorts elements in a normal way - just switch the comparison operators and you'll get reverse sorting.
Problem
I have this website using arrays and then I have this function which sorts these arrays using `asort`. It looks like this: ``` function aasort (&$array, $key) { $sorter=array(); $ret=array(); reset($array); foreach ($array as $ii => $va) { $sorter[$ii]=$va[$key]; } asort($sorter); foreach ($sorter as $ii => $va) { $ret[$ii]=$array[$ii]; } $array=$ret; } ``` This algorithm sorts the array from 1-10 but I'll need it to sort descending, from 10-1. I have tried using `rsort` with no luck, and I have tried `array_reverse` too without luck. I don't know if I have used them wrong? Or.. Well at least I just need the algorithm to sort them descending. Any idea, advice or suggestions are appreciated. Thanks!