Hackerboy1993: Einmalige Zufallszahl

Guten Abend,
ich benötige für meine Website ein Skript welches spezielle Zufallszahlen in ein Array schreibt.
Wenn ich zum Beispiel "4" in der Variable "$anzahlzahlen" habe. Möchte ich z.b. folgende Zahlen in meinem Array haben: 3,1,4,2
Also 4 Zahlen zwischen 1 und 4, die alle einmalig sind.
Was ist nun an meinem Code falsch? Wiso erhalte ich immer "Internal Server Error"??

Ist es, weil es sein kann das die Funktion Rand z.b.  8 Stunden lang keine 2 generiert? Auch wenn ich $anzahlzahlen auf "2" setze, kommt der Error.

Danke für eurer Hilfen.

Hier der Code:

<?php
$anzahlzahlen="80";
$allezufallszahlen = array();

while($count !="finish")
    {
      srand(microtime()*1000000);
  $aktuellezufallszahl = rand(1,$anzahlzahlen);

if(in_array("$aktuellezufallszahl",$allezufallszahlen))
    {
    $count="already exist";
    }

else

{

$lol = count($allezufallszahlen);
  if($lol==$anzahlzahlen)

{
  $count="finish";
  }

else
  {

array_push($allezufallszahlen,"$aktuellezufallszahl");

}

}

}

echo <<<END
<html>
<head><title>$anzahlzahlen Zufallszahlen</title></head>
<body>
<h2>$anzahlzahlen Zufallszahlen</h2>
END;
foreach($allezufallszahlen as $echozahl)
  echo $echozahl,"<br>";

echo <<<END
</body>
</html>
END;
?>

  1. Grüße,
    wie ist dein definitionsbereich?

    ich bin kein informatiker aber hätte mal einen anderen Ansatz -
    du erzeugst ein array mit allen zahlen von sagen wir - 1 bis 100
    aus dem löschst du zufälligerweise einzelne zahlen bi du die gewünschte anzahl hast.

    MFG
    bleicher

    --
    __________________________-
    Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
    Lieber bereuen gesündigt zu haben, als nicht sündigen und es später trotzdem bereuen.
    Boccaccio
    1. wie ist dein definitionsbereich?

      Was meinst du damit?

      du erzeugst ein array mit allen zahlen von sagen wir - 1 bis 100

      Ich will aber nicht ein array mit "1,4,8" sondern ein Array mit z.b. "8,1,4"!
      Also müssten dort die Zahlen auch zuerst zufälligerweise hineingefügt werden oder?

      MFG

      1. Grüße,

        Also müssten dort die Zahlen auch zuerst zufälligerweise hineingefügt werden oder?

        siehe oben - shuffle()

        MFG
        bleicher

        --
        __________________________-
        Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
        Lieber bereuen gesündigt zu haben, als nicht sündigen und es später trotzdem bereuen.
        Boccaccio
  2. Hi,

    sowas?
    $myvar  =  9; // Deine Variable
    $rand   =  range (1, $myvar);
    shuffle ($rand);
    echo implode(", ", $rand);

    bei php < 4.2 musst Du das noch mit einem Zufallswert füttern.

    Gruesse, Joachim

    --
    Am Ende wird alles gut.