Usando la query del messaggio precedente sei in grado di produrre un vettore in cui ogni elemento rappresenta un giocatore con relativo punteggio medio.
Una volta ottenuta questa lista, puoi definire una funzione di confronto ed utilizzare usort:
Codice PHP:
function player_compare($a, $b) {
return $b->avg_score - $a->avg_score;
}
...
$players = array(...);
usort($players, 'player_compare');
Se non hai una classe Giocatore puoi ottenere lo stesso effetto usando i vettori associativi di PHP:
Codice PHP:
function player_compare($a, $b) {
return $b['avg_score'] - $a['avg_score'];
}
// Just an example, you will use queries to populate this array
$players = array(
array('id' => 5, 'avg_score' => 42);
array('id' => 7, 'avg_score' => 7);
...
);
...
usort($playes, 'player_compare');
Costruire il vettore iniziale $players non dovrebbe essere un problema, usando la query, ma se ci sono dubbi siamo qui apposta .