2012-05-21 12 views
8

Ist es möglich, die Argumente von einer URL abzurufen, wo dasselbe $ _GET unterschiedliche Werte hat?

Wie www.domain.com/?user=1&user=2

Zur Zeit nicht nur zeigt, was zweite aufgeführt ist, also wenn ich echo $_GET['user'], wäre es Ausgabe 2

Ich konnte nicht das scheint auf SO zu finden, also wenn ich es verpasst bitte Gib mir Bescheid.

Danke für Ihre Hilfe!

+1

Siehe dieses [post] (http://stackoverflow.co m/questions/353379/how-to-multiple-parameter-mit-gleich-name-von-a-url-in-php), '$ _SERVER ['QUERY_STRING']' ist alles was Sie brauchen. – deex

Antwort

8

Ja, verwenden Sie Benutzer [] als Schlüssel. sollte arbeiten. PHP access all $_POST[] variables into an array?

+0

Danke! Gerade als ich die Antwort gefunden habe, schaue ich zurück und du hast es auch! Ich habe vergessen, dass es dasselbe wäre wie die Checkbox/Radios. Also benutze ich? User [] = 1 & user [] = 2. Vielen Dank! –

4

Die Abfragezeichenfolge wird in das assoziative Array $_GET geparst. Wenn also doppelte Schlüssel vorhanden sind, ist nur die letzte Version des Werts auf der Karte vorhanden. Sie können jedoch auf das rohe $_SERVER['QUERY_STRING'] zugreifen und es selbst analysieren.

Wenn möglich, wäre es am besten, wenn Sie Ihren Code ändern, um Schlüssel nicht zu duplizieren.

0

Sie können möglicherweise eine foreach-Schleife für jedes $ _GET verwenden und dann alle 'user'-Variablen in einem einzigen Array gruppieren und dann auf den gewünschten Schlüsselwert zugreifen. 0 ist der erste, 1 ist der zweite und so weiter ...

4

Schnelle Antwort ist nein.

http://localhost/?user=1&user=2 

Ruft Sie:

array 
    'user' => string '2' (length=1) 

jedoch durch Klammern in der Abfrage wie folgt mit:

http://localhost/?user[]=1&user[]=2 

Sie können $ _GET abrufen [ 'user'] und mit diesem zurückgegeben werden :

array 
    'user' => 
     array 
      0 => string '1' (length=1) 
      1 => string '2' (length=1) 
Verwandte Themen