Zufallszahl ohne Wiederholung

  • Ersteller Stefan Bötschi
  • Erstellt am
S

Stefan Bötschi

Guest
Hi,

Hab' mal eine etwas banale Frage...
Und zwar möcht ich eine Zufallszahl mit PHP generieren ( z.B zwischen 1 und 25, also mit rand(1, 25) ) OHNE, dass sich die Zahl wiederholt. Also jede Zahl soll genau einmal vorkommen, die Reihenfolge der Bestimmung soll aber dennoch zufällig sein.

Ich wäre froh, wenn mir da jemand auf die Sprünge helfen könnte. Ein relevanter Link wäre auch sehr hilfreich. Danke!

Greats,

S.B
 
Da gibts jede Menge Möglichkeiten.
Eien Methode in der man nicht mehr Durchläufe als nötig macht ist folgende. Setzt voraus, dass die Zahlen in einem Array vorkommen (ggf. in Schleife vorbesetzen). Die Schleife kann man dabei auch begrenzen (zb für Lotto, 6 aus 49; Array ist 49 lang, die Schleife geht von 0 bis <6).

Schnell hingeschrieben und ungetestet:
CODE $array = array(1, 2, 3, ..., 25);
for( $i=0; $i < 25; $i++ )
{
$rand = mt_rand(0, 25-$i);
$help = $array[$rand];
$array[$rand] = $array[25-$i];
$array[15-$i] = $help;
}
 
Zurück
Oben