Natürlich ist $gewinner in deinem Beispiel auch nach der Schleife noch vorhanden - sonst würdest eine entsprechende Meldung bekommen.
Wahrscheinlich ist der Inhalt aber einfach nur false, was du mit einem echo nicht "siehst" - var_dump bspw. zeigt es dir aber an.
Zitat:
|
und wenn also jemand, oder mehr richtig getippt haben, dann soll es in ein anderes textfeld schreiben "Ziehung vom 20.6.2009 um 12:30 Uhr: Gewinner: Markus, Anton - Gewinnzahl: 4"
|
Und der Anton mit Wert 5 in der Textdatei gewinnt bei dir mit einer gezogenen 4 also ...?
Zitat:
|
Ich hätte eben die Werte in ein Array gespeichert, und dieses mit array_search nach der Zufalszahl gesucht. Wenn jemand diese Zahl getippt hat soll es ins file den Text von oben schrieben.
|
Dazu steht das array_search bei dir aber an einer unsinnigen Stelle.
$teilnehmer wird bei foreach per pereference angesprochen - warum?
Und dann machst du aus genau der gleichen Variablen ein Array - das im nächsten Schleifendurchlauf dann wieder vom nächsten durch foreach bereitgestellten Wert überschrieben wird.
Das passt vorne und hinten nicht - du solltest wirklich mal versuchen, mit etwas mehr Logik an solche Sachen heranzugehen.
Wenn du die Zufallszahl bereits vor der Schleife gezogen hast - warum schaust du dann nicht innerhalb der Schleife, ob der Nutzer aus der aktuellen Zeile diese Zahl hat. Und wenn ja, dann gibst du ihn entweder aus, oder legst ihn
dann in einem Array ab.
Zitat:
|
Und nein, die if-Abfrage kann ich nicht in die Schleife geben, dann würde es die Abfrage auch so oft abhandeln, wieviele Einträge sind im Array.
|
Die Abfrage gehört m.E. sehr wohl in die Schleife - nur sollte sie eine vernünftige Bedingung
prüfen.