Götz: zufallszahlen

Beitrag lesen

Hallo jari!

Meine Vorstllung ist folgende:

  1. eine Zahl ziehen
  2. in der Datei gezogen.txt nachsehen, ob diese Zahl schon gespeichert wurde;
  3. wenn nein, dann speichern und Zahl am Bildschirm ausgeben;
  4. wenn ja, dann eine neue Zufallszahl --> bis man eine hat, die noch nicht in der Datei steht!

Hört sich eigentlich ganz sinnig an.

aber das funkt net ganz:

Was soll da auch funken?

was ist da falsch??

<?php $php_request?>

Hier würde ich nicht diese minimalistische Schreibweise nehmen, ist aber Geschmackssache.

if (isset($ziehen)) {
$gezogen = rand(1,100);

$fp = fopen("gezogen.txt","r");

if ($fp){
  while (!feof($fp)){
   $startnummer = fgets($fp, 5);

if ($startnummer != $gezogen){
[...]
    }

Hier könntest Du einen else-Block nehmen.

if ($startnummer != $gezogen2){

Wo wird denn $gezogen2 überhaupt erzeugt?

Du solltest mal am Anfang Deine Scriptes das Error-Reporting auf E_ALL stellen (error_reporting(E_ALL);).

Ansonsten brauchst Du nur eine gewöhnliche Rekursion.

Also, schreib Dir eine Funktion, die eine Zufallszahl erzeugt (bzw. da nimmst Du ja direkt rand).
Schreib eine Funktion, die prüft, ob eine Zahl schon in der Datei existiert.

Dann erzeuge erstmal eine Zufallszahl, prüfe mit der Prüffunktion ob sie existiert, wenn ja, erzeuge nächste ...
(müßte auch mit einer while-Schleife gehen, also brauchst nichtmal zwingend eine Rekursion, wenn ich mir das grad richtig überlegt habe, aber das kannst ja ausprobieren)

MfG
Götz

--
Losung für Dienstag, 28. September 2004
So spricht der Herr: Dein Schaden ist verzweifelt böse, und deine Wunden sind unheilbar. Aber ich will dich wieder gesund machen und deine Wunden heilen. (Jeremia 30,12.17)
Christus ist darum für alle gestorben, damit, die da leben, hinfort nicht sich selbst leben, sondern dem, der für sie gestorben und auferstanden ist. (2. Korinther 5,15)
(http://www.losungen.de/heute.php3)