Heim >Backend-Entwicklung >PHP-Tutorial >Wie rufe ich in PHP mehrere Parameter mit demselben Namen von einer URL ab?

Wie rufe ich in PHP mehrere Parameter mit demselben Namen von einer URL ab?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-03 04:26:11109Durchsuche

How to Retrieve Multiple Parameters with the Same Name from a URL in PHP?

Abrufen mehrerer Parameter mit demselben Namen von einer URL in PHP

In Webanwendungen enthalten URLs oft mehrere Parameter, um Informationen an das PHP-Skript zu übergeben. Die $_GET-Funktion von PHP gibt jedoch normalerweise nur den letzten Wert für einen bestimmten Parameter zurück. Dies kann problematisch sein, wenn in der URL mehrere Parameter mit demselben Namen vorhanden sind.

Betrachten Sie diese Beispiel-URL:

http://example.com/index.php?param1=value1&param2=value2&param1=value3

In diesem Fall würde $_GET['param1'] zurückkehren „value3“ überschreibt den früheren Wert („value1“).

Um dieses Problem zu beheben, kann der folgende Codeausschnitt verwendet werden verwendet:

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

foreach ($query as $param) {
    // To prevent errors, ensure each element has an equals sign.
    if (strpos($param, '=') === false) {
        $param .= '=';
    }

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

Dieser Code erstellt ein assoziatives Array, in dem jeder Schlüssel einem Parameternamen entspricht und jeder Wert ein Array ist, das alle mit diesem Parameter verknüpften Werte enthält. Für die obige Beispiel-URL würde das resultierende $params-Array wie folgt aussehen:

array(
    'param1' => array('value1', 'value3'),
    'param2' => array('value2')
)

Mit dieser Methode können Sie über die URL problemlos auf alle mit jedem Parameter verknüpften Werte zugreifen, unabhängig davon, ob die Parameter mehrmals vorkommen .

Das obige ist der detaillierte Inhalt vonWie rufe ich in PHP mehrere Parameter mit demselben Namen von einer URL ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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