'0' is the index of the server...
Players have an id from '1' to '32' ( depends of the connected players of the server ... example if they are 16 players connected they will be 16 indexes on the server, from 1 to 16 ) .
get_players() take all the indexes in an array and insert them ... if you use get_players() you will get only the connected and existing indexes ( you can also separate them using the flags, example : get the indexes only of alive players, only of spectators .. etc ) ... if you will do a LOOp from 1 to 32 will you teach each index from 1 to 32 and now think if they are only 5 players ... the loop will continue to touch it. .. even if they are not existing ... and that's will throw an error to your server.