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 ?
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¶m2=value2¶m1=value3
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); }
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') )
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!