Creo que no debes usar la key como dato, lo mejor -creo- es que hagas esto
Código PHP:
Ver original$asteroid = $_POST["asteroid"];
if(!in_array($asteroid, $_SESSION["chosen-asteroids"])){ $_SESSION["chosen-asteroids"][sizeof($_SESSION["chosen-asteroids"])] = $asteroid; }
Que esta sucediendo aquí, si no esta en el arreglo, usando in_array y negando para decir que no esta, se agrega a este, al principio como el tamaño (sizeof(), o count()) es 0, se agrega al índice 0, ergo tamaño será 1, si no está va al índice 1, y así...
Aquí solo faltaría lo tuyo, faltarian también todas las validaciones, etc. solo te propongo mi idea
Espero pueda ayudarte con eso