Hey guys I'm trying to reverse sort a multidimensional array with usort but am messing up somewhere. Here's my code:
$array = array(
array(123 => 'foo'), // duplicate
array(124 => 'foo'),
array(127 => 'foo'),
array(126 => 'foo'),
array(123 => 'foo'), // duplicate
array(125 => 'foo'),
);
function rcmp($a, $b) {
if($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
usort($array, 'rcmp');
print_r($array);
/*
Array
(
[0] => Array ( [126] => foo) )
[1] => Array ( [125] => foo) )
[2] => Array ( [127] => foo) )
[3] => Array ( [123] => foo) )
[4] => Array ( [124] => foo) )
[5] => Array ( [123] => foo) )
)
*/
I am expecting
/*
Array
(
[0] => Array ( [127] => foo) )
[1] => Array ( [126] => foo) )
[2] => Array ( [125] => foo) )
[3] => Array ( [124] => foo) )
[4] => Array ( [123] => foo) )
[5] => Array ( [123] => foo) )
)
*/
What am I doing wrong?