Position actuelle: Accueil> Derniers articles> Utilisez PARSE_URL et PARSE_STR pour obtenir le tableau des paramètres de requête

Utilisez PARSE_URL et PARSE_STR pour obtenir le tableau des paramètres de requête

gitbox 2025-05-26

Dans le développement quotidien, nous devons souvent faire face aux paramètres des URL, en particulier lors de l'exécution du développement d'interface, des sauts de page Web ou de la résolution de liens. Si vous utilisez le langage PHP, les deux fonctions parse_url et parse_str seront votre arme pour gérer les URL.

Cet article vous montrera comment utiliser la fonction parse_url pour extraire la partie de requête dans l'URL, puis la convertir en un tableau PHP via la fonction PARSE_STR pour accéder facilement à chaque valeur de paramètre.

1. Introduction à la fonction parse_url

Parse_Url est l'une des fonctions intégrées de PHP qui sont capables d'analyser une URL et de la décomposer en composants, notamment:

  • schéma (protocole)

  • hôte (nom d'hôte)

  • port (port)

  • utilisateur (nom d'utilisateur)

  • passer (mot de passe)

  • Chemin (chemin)

  • requête (chaîne de requête)

  • fragment (point d'ancrage)

Exemple:

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

print_r($parsed);

Résultat de sortie:

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

Comme vous pouvez le voir, parse_url extrait avec succès la partie de requête dans l'URL: q = php & tri = desc & page = 2 . Mais c'est toujours une chaîne. Pour devenir un tableau accessible, vous devez utiliser une autre fonction - PARSE_STR .

2. Introduction à la fonction PARSE_STR

PARSE_STR est également une fonction intégrée pour PHP, qui peut analyser la chaîne de requête de l'URL dans un tableau associatif.

Exemple:

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

print_r($queryArray);

Résultat de sortie:

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

Maintenant que chaque paramètre est devenu un élément de tableau, nous pouvons facilement obtenir PHP via $ queryArray ['Q'] ou 2 à $ queryArray ['page'] .

3. Utilisez les deux en combinaison

En utilisant les deux fonctions ensemble, vous pouvez obtenir le tableau des paramètres de requête dans n'importe quelle URL de manière minimaliste:

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

// premier pas:utiliser parse_url Obtenir query partie
$parsedUrl = parse_url($url);
$queryString = isset($parsedUrl['query']) ? $parsedUrl['query'] : '';

// Étape 2:utiliser parse_str Volonté query Convertir les chaînes en tableaux
$queryParams = [];
parse_str($queryString, $queryParams);

// Vue de sortie
print_r($queryParams);

De cette façon, peu importe le nombre de paramètres inclus dans l'URL, ils peuvent être facilement accessibles via le tableau $ QueryParams .

4. Gérer la requête vide ou pas de requête

Dans les scénarios réels, vous devez également faire de la tolérance aux défauts au cas où il n'y a pas du tout de paramètre de requête dans l'URL:

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

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

print_r($queryParams); // La sortie est un tableau vide