Einmalige Zufallszahl
Hackerboy1993
- php
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;
?>
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
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
Grüße,
Also müssten dort die Zahlen auch zuerst zufälligerweise hineingefügt werden oder?
siehe oben - shuffle()
MFG
bleicher
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