I have this array:
Array
(
[0] => Array
(
[id] => 6347
[lat] => 18.520430
[lng] => 73.856743
[country_id] =
Use the SET class in cake
$result = Set::sort($yourArray, '{n}.avgRate', 'desc');
Take a look at usort function.
Just define a function (in the manual as "cmp") for sorting and use it as callback:
function my_sorting_function($a, $b)
{
return $a["avgRate"]>$b["avgrate"]?1:-1;
}
and then call it
usort($my_array_variable,"my_sorting_function");
Try this : Using array_multisort
$sort = array();
foreach($your_array as $k=>$v) {
$sort['avgRate'][$k] = $v['avgRate'];
}
array_multisort($sort['avgRate'], SORT_DESC, $your_array);
echo "<pre>";
print_r($your_array);
Ref: http://php.net/manual/en/function.array-multisort.php