MudGuard: gleiche Zufallszahlen verhindern

Beitrag lesen

Hi

ich versuche mit

function zufall($zeilen)
{
global $var;
mt_srand((double)microtime()*1000000);
$var = array();
for ($i=0;$i<3;$i++)
{
  array_push($var, mt_rand(0,$zeilen));
}
}

in den array $var 3 zufällig generierte zahlen zwischen 0 und $zeilen zu schreiben.
jetzt habe ich allerdings bemerkt, dass es auch mal vorkommen kann das diese zufällig generierten zahlen nun auch mal doppelt (oder häufiger) vorkommen können.

wie kann ich das umgehen?

Indem Du prüfst, ob Deine n. Zufallszahl (n > 1) bereits vorher einmal gezogen wurde (durch Vergleich mit der 1., 2. ... (n-1). Zufallszahl). Falls schon vorhanden, neue Zufallszahl holen...

Bei sehr kleiner Anzahl der möglichen Werte:
Mögliche Werte in Liste, Zufallsindex holen, die Zahl aus der Liste streichen...
Andreas