This would allow each client to be responsible for their own element. Or perhaps there is a better way to do this. The array would be nice for looping through the index.
Plus: Malicious code can easily alter other players or force the server to write outside of the arrays bounds...
I would highly discourage this, use the client ID to identifier clients, eg. you could create a hash table which uses the clients ID as key to get either the players data or the index of the players data in the array.
The latter one would be sort of a "meh" solution as you had to update the indicies when the array changes but its the only way to have an ordered list together with the hash table.
[shameless self plug]Lite Foundation has an easy to use hash table class (LFSet) which also allows fast enumeration of the hash table and such nice things, although its rendered useless by the fact that it uses the value as key =/ Oh well, time to implement another hash table class[/shameless self plug]