Maison > développement back-end > tutoriel php > Comment récupérer plusieurs paramètres avec le même nom à partir d'une URL en PHP ?

Comment récupérer plusieurs paramètres avec le même nom à partir d'une URL en PHP ?

Mary-Kate Olsen
Libérer: 2024-12-03 04:26:11
original
214 Les gens l'ont consulté

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

Récupération de plusieurs paramètres portant le même nom à partir d'une URL en PHP

Dans les applications Web, les URL contiennent souvent plusieurs paramètres pour transmettre des informations au script PHP. Cependant, la fonction $_GET de PHP renvoie généralement uniquement la dernière valeur d'un paramètre donné. Cela peut être problématique lorsque plusieurs paramètres portant le même nom sont présents dans l'URL.

Considérez cet exemple d'URL :

http://example.com/index.php?param1=value1&param2=value2&param1=value3
Copier après la connexion

Dans ce cas, $_GET['param1'] renverrait "value3", en écrasant la valeur précédente ("value1").

Pour résoudre ce problème, l'extrait de code suivant peut être utilisé :

$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);
}
Copier après la connexion

Ce code créera un tableau associatif où chaque clé correspond à un nom de paramètre, et chaque valeur est un tableau contenant toutes les valeurs associées à ce paramètre. Pour l'exemple d'URL ci-dessus, le tableau $params résultant serait :

array(
    'param1' => array('value1', 'value3'),
    'param2' => array('value2')
)
Copier après la connexion

En utilisant cette méthode, vous pouvez facilement accéder à toutes les valeurs associées à chaque paramètre à partir de l'URL, que les paramètres apparaissent plusieurs fois ou non. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal