Maison >développement back-end >tutoriel php >Comment puis-je empêcher PHP de remplacer les points par des traits de soulignement dans les noms de variables GET, POST et COOKIE ?
PHP : empêcher le remplacement de caractères dans les noms GET, POST et COOKIE
PHP remplace automatiquement les points dans les noms de variables entrants par des traits de soulignement. Ce comportement peut être indésirable dans certains cas. Comment pouvons-nous le désactiver ?
Pourquoi PHP remplace les points
Selon PHP.net, les points ne sont pas des caractères valides dans les noms de variables. L'analyseur interpréterait "varname.ext" comme une variable nommée "varname" suivie de l'opérateur de concaténation et de la chaîne "ext", ce qui n'est pas le résultat attendu.
Alternatives
Malgré les tentatives pour empêcher ce comportement, le mécanisme d'analyse de PHP le rend nécessaire. Cependant, il existe des moyens de contourner ce problème :
$_POST['x.y'] = str_replace('_', '.', $_POST['x_y']);
RewriteEngine On RewriteRule .* - [E=DOT:_]
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!