Ti serve una cosa simile

codice:
// popoliamo l'array con gli $n numeri in ordine
for($i=0, $numb=array(), $n=10;$i<$n;$i++,$numb[]=$i);

// randomizziamo
shuffle($numb);

// verifica
echo "
";
for($i=0;$i<$n;$i++)  echo $numb[$i]." ";
Ogni volta che ti serve un numero casuale diverso dagli $n-1 precedenti basterà prendere

$numb[(++$i)%$n];

con $i memorizzato da qualche parte