@Marc Stridgen
Just take a look at any long topic on here:
The order is based on member_id, not the number of posts.
IPS\Content\Statistics - the topPosters function...
When it gets to this point, $contributors is in the right order.
$return = array();
foreach( new \IPS\Patterns\ActiveRecordIterator( \IPS\Db::i()->select( '*', 'core_members', array( \IPS\Db::i()->in( 'member_id', $contributors ) ) ), 'IPS\Member' ) as $member )
{
$return[] = array( 'member' => $member, 'count' => $counts[ $member->member_id ] );
}
The above ends up returning an array in member_id order.