Aktueller Standort: Startseite> Neueste Artikel> Wie verwendet ich die Funktion PHP von PHP, um das Abfrageparameter -Array in der URL einfach zu erhalten?

Wie verwendet ich die Funktion PHP von PHP, um das Abfrageparameter -Array in der URL einfach zu erhalten?

gitbox 2025-05-26

In der täglichen Entwicklung müssen wir uns häufig mit Parametern in URLs befassen, insbesondere bei der Durchführung von Schnittstellenentwicklung, Webseiten -Sprüngen oder Linkauflösung. Wenn Sie PHP -Sprache verwenden, sind die beiden Funktionen Parse_url und Parse_str Ihre Waffe, um URLs zu handhaben.

In diesem Artikel wird angezeigt, wie Sie die Funktion PARSE_URL verwenden, um den Abfrageteil in der URL zu extrahieren, und sie dann in ein PHP -Array durch die Parse_str -Funktion umwandeln, um auf jeden Parameterwert einfach zugänglich zu machen.

1. Einführung in die Funktion PARSE_URL

Parse_url ist eine der integrierten Funktionen von PHP, die eine URL analysieren und in Komponenten unterteilen können, darunter:

  • Schema (Protokoll)

  • Host (Hostname)

  • Port (Port)

  • Benutzer (Benutzername)

  • Pass (Passwort)

  • Pfad (Pfad)

  • Abfrage (Abfragezeichenfolge)

  • Fragment (Ankerpunkt)

Beispiel:

 $url = "https://gitbox.net/search?q=php&sort=desc&page=2";
$parsed = parse_url($url);

print_r($parsed);

Ausgangsergebnis:

 Array
(
    [scheme] => https
    [host] => gitbox.net
    [path] => /search
    [query] => q=php&sort=desc&page=2
)

Wie Sie sehen können, extrahiert Parse_url erfolgreich den Abfrageteil in der URL: q = Php & Sort = Desc & Page = 2 . Aber das ist immer noch eine Zeichenfolge. Um ein zugängliches Array zu werden, müssen Sie eine andere Funktion verwenden - Parse_str .

2. Einführung in die Parse_str -Funktion

Parse_str ist auch eine integrierte Funktion für PHP, mit der die Abfragezeichenfolge der URL in ein assoziatives Array analysiert werden kann.

Beispiel:

 $queryString = "q=php&sort=desc&page=2";
parse_str($queryString, $queryArray);

print_r($queryArray);

Ausgangsergebnis:

 Array
(
    [q] => php
    [sort] => desc
    [page] => 2
)

Nachdem jeder Parameter zu einem Array -Element geworden ist, können wir Php leicht über $ queryArray ['q'] oder 2 über $ queryArray ['Seite'] erhalten.

3. Verwenden Sie beide in Kombination

Wenn Sie die beiden Funktionen zusammen verwenden, können Sie das Abfrageparameter -Array in jeder URL auf minimalistische Weise erhalten:

 $url = "https://gitbox.net/search?q=php&sort=desc&page=2";

// Erster Schritt:verwenden parse_url Erhalten query Teil
$parsedUrl = parse_url($url);
$queryString = isset($parsedUrl['query']) ? $parsedUrl['query'] : '';

// Schritt 2:verwenden parse_str Wille query Saiten in Arrays konvertieren
$queryParams = [];
parse_str($queryString, $queryParams);

// Ausgangsansicht
print_r($queryParams);

Auf diese Weise können Sie unabhängig von der Anzahl der Parameter in der URL leicht über das $ Queryparams -Array zugreifen.

4. Handle leere Abfrage oder keine Anfrage

In realen Szenarien müssen Sie auch Fehlertoleranz durchführen, falls es in der URL überhaupt keinen Abfrageparameter gibt:

 $url = "https://gitbox.net/home";
$parsedUrl = parse_url($url);

$queryParams = [];
if (isset($parsedUrl['query'])) {
    parse_str($parsedUrl['query'], $queryParams);
}

print_r($queryParams); // Ausgabe ist ein leeres Array