3! verschiedene Zufallszahlen

schiese

Erfahrenes Mitglied
Hi, ich habe ein Skript gewschrieben, dass mir Zufallszahlen ausgibt. Aber irgendwie kriege ich es nicht hin, dass er mir 3 ausgibt. Ab und zu habe ich auch nur zwei oder gar nur eine.
Habe auch schon versucht ne if-Abfrage einzubauen. Aber nichts funktionierte.
PHP:
$datei = file("datei.txt");
$anzahl = count($datei);
$max = 3;

$array = array();
for($i=1;$i<=$max;$i++){
$zz = mt_rand(0,$anzahl);

if (!in_array($zz, $array)) {
array_push($array,$zz);
}
}

schiese
 
Ja. Er gibt bei mir auch was aus. Aber ab und zu gibt er halt nur 2 Zahlen aus, wenn eine schon im Array ist! Das will ich ja verhindern. Also er soll immer 3 ausgeben!

schiese
 
Was wäre hiermit
PHP:
<?
$datei = file("datei.txt"); 
$anzahl = count($datei);
$max = 3;

$array = array();
while(count($array) <= $max)
{
	$zz = mt_rand(0,$anzahl);

	if (!in_array($zz, $array))
	{
		array_push($array,$zz);
	}
}
?>
 
Ein Problem gibt es dabei. Wenn $anzahl unter $max ist, hast du eine Endlosschleife. Solltest also eine if-Anweisung einbauen.
 
Zurück