Pues tu técnica de elegir un valor al azar es algo floja, de verdad.
Esto me parece mejor:
Código PHP:
$nums = range(0, 10);
shuffle($nums);
foreach ($nums as $num) {
echo "$num, ";
}
El problema con tu técnica es que en cada vuelta del for() se determina un nuevo número aleatorio, lo cual es bastante endeble, porque siempre existe la posibilidad de que se repita alguno.
Consulta el manual de rand() si tienes más dudas al respecto.