$rawstats[0], 'tt_words' => $rawstats[4], 'as_words' => $rawstats[6], 'bans' => $rawstats[9], 'banned' => $rawstats[11], 'kicks' => $rawstats[8], 'kicked' => $rawstats[10] ); $stats[$linestats['username']] = $linestats; } $toptalkers=$allstars=$stats; uasort($toptalkers, fieldsortfactory('tt_words', true)); uasort($allstars, fieldsortfactory('as_words', true)); $tt_ranks = array_flip(array_keys($toptalkers)); $as_ranks = array_flip(array_keys($allstars)); foreach($stats as $username => $userstats) { $stats[$username]['tt_rank'] = $tt_ranks[$username]+1; $stats[$username]['as_rank'] = $as_ranks[$username]+1; } $userstats = $stats[$username]; $ttpos = $userstats['tt_rank']; $ttwords= $userstats['tt_words']; $aspos = $userstats['as_rank']; $aswords= $userstats['as_words']; $bans = $userstats['bans']; $banned = $userstats['banned']; $kicks = $userstats['kicks']; $kicked = $userstats['kicked']; //to grab top10 toptalkers foreach($tt_ranks as $talker => $rank) { if( rank > 10 ) break; //we've already got the top 10 -- bail outof the loop //do stuff here. //to get the user's other stats, use $stats[$talker] //f.ex.: echo $rank . '. ' . $talker . ' - ' . $stats[$talker]['tt_words'] . ' words'; } ?>