Martin: Doppelte Zahlen im array verhindern

Hallo zusammen,

ich bin gerade dabei, mich etwas in PHP einzuarbeiten und habe versucht, ein Script zu schreiben, welches zufällig Lottozahlen ziehen soll. Das funktioniert soweit auch ganz gut, nur hab ich keine Idee, wie ich es in meinen Script anstelle, dass keine Zahl doppelt vorkommt.
Vielleicht kann mir ja jemand weiter helfen?
<?

Zufallswert erzeugen

srand(microtime()*1000000);

zufallszahlen

$zahl1 = rand(1, 49);
$zahl2 = rand(1, 49);
$zahl3 = rand(1, 49);
$zahl4 = rand(1, 49);
$zahl5 = rand(1, 49);
$zahl6 = rand(1, 49);

zufallszahlen in array schreiben

$zahlen = array($zahl1, $zahl2, $zahl3, $zahl4, $zahl5, $zahl6);

zahlen ausgeben

echo $zahlen[0],"<br>";
echo $zahlen[1],"<br>";
echo $zahlen[2],"<br>";
echo $zahlen[3],"<br>";
echo $zahlen[4],"<br>";
echo $zahlen[5],"<br>";
?>

  1. Hi!

    Mach doch einfach folgendes: Du löschst den Wert aus dem Array, der soeben "ausgelost" wurde. So macht Lotto das ja auch...

    cu

    Marc Reichelt || http://www.marcreichelt.de/

    --
    Linux is like a wigwam - no windows, no gates and an Apache inside!!!
    SELFCode: ss:| zu:) ls:[ fo:} de:[ va:} ch:? sh:) n4:° rl:? br:^ js:( ie:% fl:) mo:)
    http://emmanuel.dammerer.at/selfcode.html
  2. Hallo Martin,

    $zahl1 = rand(1, 49);

    bau dir eine Schleife, die eine Zahl generiert dann nachschaut ob die schon im Array steht (mit in_array() ->http://de2.php.net/in_array) und wenn nein, die Zahl in das Array schreibt (bei nein einfach die Schleife nochmal durchlaufen)

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|