erwartet Ich habe eine einfache zweidimensionale Anordnung:usort verhält sich nicht wie
$users = array(
array('user' => 'John', 'points' => '0'),
array('user' => 'Paul', 'points' => '0'),
array('user' => 'George', 'points' => '0'),
array('user' => 'Ringo', 'points' => '0')
);
Ich brauche sie zu sortieren, indem points (DESC)
und dann von name (ASC)
. Dies würde mein Code sein:
function sortByOrder($a, $b) {
if($b['points'] == $a['points'])
return $a['user'] - $b['user'];
else
return $b['points'] - $a['points'];
}
usort($users, 'sortByOrder');
ich die ursprüngliche Reihenfolge statt eine alphabetische Reihenfolge (da sie alle 0 Punkte haben zur Zeit). Warum?
User sind nicht zählbar. Überprüfen Sie den zurückgegebenen Booleschen Wert. –
Was ist 'John' minus' Paul'? oder 'Ringo' minus' George'? –