Heim > Backend-Entwicklung > PHP-Tutorial > Wie rufe ich alle Werte für doppelte URL-Parameter in PHP ab?

Wie rufe ich alle Werte für doppelte URL-Parameter in PHP ab?

Barbara Streisand
Freigeben: 2024-11-30 07:43:11
Original
543 Leute haben es durchsucht

How to Retrieve All Values for Duplicate URL Parameters in PHP?

Abrufen mehrerer Parameter mit demselben Namen von einer URL in PHP

Problem:

Wenn URLs mehrere Parameter mit dem enthalten Wenn Sie denselben Namen haben, gibt die PHP-Variable $_GET nur den letzten Wert zurück. Dies kann problematisch sein, insbesondere wenn die Anwendung Zugriff auf alle Werte für einen bestimmten Schlüssel benötigt.

Lösung:

Um alle Werte für einen bestimmten Schlüssel abzurufen, gehen Sie wie folgt vor Code kann verwendet werden:

$query  = explode('&', $_SERVER['QUERY_STRING']);
$params = array();

foreach( $query as $param )
{
  // prevent notice on explode() if $param has no '='
  if (strpos($param, '=') === false) $param += '=';

  list($name, $value) = explode('=', $param, 2);
  $params[urldecode($name)][] = urldecode($value);
}
Nach dem Login kopieren

Dieser Code:

  • Explosiert die Abfragezeichenfolge in einzelne Schlüssel-Wert-Paare.
  • Dekodiert Schlüssel- und Wertnamen.
  • Initialisiert ein assoziatives Array $params, um Werte zu speichern.
  • Fügt Werte zum entsprechenden Schlüssel im $ hinzu oder hängt ihn an Parameter Array.

Ergebnis:

Das Ausführen dieses Codes für die bereitgestellten URL-Parameter erzeugt das folgende Array:

array(
  'ctx_ver'     => array('Z39.88-2004'),
  'rft_id'      => array('info:oclcnum/1903126', 'http://www.biodiversitylibrary.org/bibliography/4323'),
  'rft_val_fmt' => array('info:ofi/fmt:kev:mtx:book'),
  'rft.genre'   => array('book'),
  'rft.btitle'  => array('At last: a Christmas in the West Indies.'),
  'rft.place'   => array('London'),
  'rft.pub'     => array('Macmillan and co.'),
  'rft.aufirst' => array('Charles'),
  'rft.aulast'  => array('Kingsley'),
  'rft.au'      => array('Kingsley, Charles'),
  'rft.pages'   => array('1-352'),
  'rft.tpages'  => array('352'),
  'rft.date'    => array('1871')
)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie rufe ich alle Werte für doppelte URL-Parameter in PHP ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage