Werte aus URL in Array einfügen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anweisung
ausgabe
beitrag
break
exit
fragen
games counter
games warcraft
gel
hilfe
key
klappe
mache
manual
meinst
schleifen
schreibe
strike
string
vietcong
-
Huhu,
also ich habe derzeit ein Array mit mehreren "Werten". Das Script gibt alle Werte aus dem Array aus. Wenn ich jetzt ".../index.php?wert=WoW" schreibe, schreibt er mir WoW auch dazu, so wie es auch sein soll.
$games = array(); $games[] = "Diablo"; $games[] = "Warcraft"; $games[] = "Counter Strike"; $games[] = "Sims"; $wert = $_GET["wert"]; if(isset($wert)) { $games[] = $wert; } foreach($games AS $ausgabe) { echo "$ausgabe <br>"; }
Meine Frage ist jetzt wie mache ich das wenn ich folgende URL habe:
.../index.php?wert1=WoW&wert2=Vietcong&wert3=FarCry
Also k?nnte mir da mal jemand auf die Spr?nge helfen, ich hatte da was mit einer for-Schleife im Kopf.
Beitrag ge?ndert am 20.12.2005 23:36 von neo1000 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi,
also, es tut mir leid, aber ich versteh nicht ganz, was du willst. Willst du einen Array in eine url als query-string umwandeln oder verkehrt rum?
Edit:
Ich habs begriffen, was du meinst.
Mach es doch so, um alle Werte aus _get auszulesen:
foreach ($_GET as $wert) { $games[] = $wert; }
_get ist ja ein Array, mit allen werten des query-strings. Also kann man ihn ja mit foreach auslesen.
Ich hoffe, dass es dein Problem l?st.
mfg,
hr
Beitrag ge?ndert am 20.12.2005 23:39 von heavyraptor -
so in etwa, da k?nnen bis zu drei zahlen ?bersprungen, ewrden, und es wird mit der schleife weitergemacht:
$games = array(); $games[] = "Diablo"; $games[] = "Warcraft"; $games[] = "Counter Strike"; $games[] = "Sims"; $x = 0; for($i = 1;;$i++) { if(isset($_GET["wert$i"])) { $x = 0; $games[] = $_GET["wert$i"]; }else{ $x++; if($x == 3) { break ; } } } foreach($games AS $ausgabe) { echo "$ausgabe <br>"; }
edit:
jetzt hast du zwei l?sungen
edit2: so sollte es allerdings klappen, tut bei mir!
Beitrag ge?ndert am 21.12.2005 15:59 von ruehrer -
Du k?nntest auch die beiden Antworten vermischen.
Du holst dir mit array_keys($_GET) ( http://de2.php.net/manual/de/function.array-keys.php ) die "Schl?ssel" von Get.
Dann kannst du ja mit hilfe von foreach schauen, ob es mit Wert beginnt und dann eine Zahl kommt.
Wenn ja packst du den Wert aus den Array mit diesen Schl?ssel in dein $game[].
Jens -
Also ich habe es jetzt so gel?st, das sich alles in einer for-Schleife befindet.
In dieser Schleife befindet sich eine if-schleife, die solange neue Werte f?r den array erstellt, bis keine Werte mehr in der URL ?brig sind.
Danach kommt die else-Anweisung zum Tragen, dort wird einmal alles aus dem Array ausgegeben und dann beendet.
Der gesamte Code sieht dann so aus:
$games = array(); $games[] = "Diablo"; $games[] = "Warcraft"; $games[] = "Counter Strike"; $games[] = "Sims"; for($i = 1;;$i++) { if(isset($_GET["wert$i"])) { $games[] = $_GET["wert$i"]; } else { foreach($games AS $ausgabe) { echo "$ausgabe <br>"; } exit(); } }
Beitrag ge?ndert am 21.12.2005 16:15 von neo1000 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage