php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 30-06-2009, 15:00
Tiafe
 Registrierter Benutzer
Links : Onlinestatus : Tiafe ist offline
Registriert seit: Jun 2009
Beiträge: 2
Tiafe befindet sich auf einem aufstrebenden Ast
Standard Variable aus foreach-Schleife außerhalb der Schleife nicht verwendbar

Hallo!

Ich habe folgendes Problem. Ich benötige den Wer aus der Variable $gewinner außerhalb der foreach-Schleife. Zum testen habe ich es einfach einmal mit echo ausgegeben. Schreib ich das echo innerhalb der Schleife, zeigt es mir die Werte an, schreib ich es außerhalb der Schleife, zeigt es mir nichts an. Ich benötige die Werte dann aber für eine if-else Abfrage außerhalb der Schleife. 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.

PHP-Code:
    $ziehungszahl rand(1,10);
    
$timestamp time();
    
$datum date("d.m.Y",$timestamp);
    
$uhrzeit date("H:i",$timestamp);    
    
$teilnehmerliste file("tipps.txt");

    foreach(
$teilnehmerliste as &$teilnehmer){
        
$teilnehmer explode("|",$teilnehmer);
        
$teilnehmer = array($teilnehmer[0] => $teilnehmer[1]);
    
        
$gewinner array_search($ziehungszahl$teilnehmer); 
    
        }
    
        echo 
$gewinner
Mit Zitat antworten
  #2 (permalink)  
Alt 30-06-2009, 15:07
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.595
h3ll befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
$teilnehmer = array();

foreach(
file("tipps.txt") as $zeile) {
    list(
$name$zahl) = explode("|"$zeile);
    
$teilnehmer[$name] = $zahl;
}

$gewinner array_search($ziehungszahl$teilnehmer); 
Oder meinst du eher so?

PHP-Code:
$gewinner = array();

foreach(
file("tipps.txt") as $zeile) {
    list(
$name$zahl) = explode("|"$zeile);
    if (
$zahl == $ziehungszahl) {
        
$gewinner[] = $name;
    }

Ist natürlich sehr schwer zu helfen, wenn man nicht weiß, was du überhaupt machen willst.

Geändert von h3ll (30-06-2009 um 15:12 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 30-06-2009, 15:27
Tiafe
 Registrierter Benutzer
Links : Onlinestatus : Tiafe ist offline
Registriert seit: Jun 2009
Beiträge: 2
Tiafe befindet sich auf einem aufstrebenden Ast
Standard

Ok werd mal erklären was ich genau machen will:

ich habe ein text file darin sind tipps mit name und gewinnzahl zB als
Markus|4
Anton|5
Helga|10

ich möchte nun eine ziehung durchführen mit einer zufallszahl zw. 1-10 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"

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..


edit: so du hast mir aber jetzt schon sehr weitergeholfen, danke!! mit dem ersten codebeispiel bekomm ich schon mal einen namen raus.. toll wäre auch noch wenn ich alle namen rausbekommen wenn mehrere die gleiche zahl getippt haben.. so bekomm ich nur den raus, der als erster diese zahl getippt hat

Geändert von Tiafe (30-06-2009 um 15:32 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 30-06-2009, 15:39
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

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.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 30-06-2009, 16:42
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.595
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Tiafe Beitrag anzeigen
Ok werd mal erklären was ich genau machen will:

ich habe ein text file darin sind tipps mit name und gewinnzahl zB als
Markus|4
Anton|5
Helga|10

ich möchte nun eine ziehung durchführen mit einer zufallszahl zw. 1-10 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"

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..


edit: so du hast mir aber jetzt schon sehr weitergeholfen, danke!! mit dem ersten codebeispiel bekomm ich schon mal einen namen raus.. toll wäre auch noch wenn ich alle namen rausbekommen wenn mehrere die gleiche zahl getippt haben.. so bekomm ich nur den raus, der als erster diese zahl getippt hat
Mein zweites Beispiel macht genau das, was du willst.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit foreach-schleife spaff PHP Developer Forum 3 13-06-2007 12:47
[PHP5] Sind die Variablen außerhalb einer Schleife gültig? bigtail PHP Developer Forum 3 26-03-2007 16:51
foreach schleife DarksoldierXX PHP Developer Forum 12 14-03-2007 16:11
foreach schleife pippo PHP Developer Forum 8 11-10-2004 19:58
foreach-Schleife Johannes PHP Developer Forum 7 22-02-2002 19:19

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:36 Uhr.