Maison >développement back-end >tutoriel php >Comment puis-je conserver les caractères points dans les noms de variables PHP à partir des entrées utilisateur ?
Conservation des caractères points dans les noms de variables PHP à partir des entrées GET, POST et COOKIE
En PHP, les caractères points (.) dans les noms de variables transmis via les requêtes GET, POST ou COOKIE sont automatiquement remplacés par des traits de soulignement (_). Cela peut être problématique dans certains scénarios.
Explication du comportement de PHP
Selon la documentation de PHP, les points ne sont pas des caractères valides dans les noms de variables PHP. PHP les convertit en traits de soulignement pour éviter les erreurs de syntaxe. Les caractères suivants sont également convertis en traits de soulignement :
Désactivation du remplacement automatique
Malheureusement, il y a Il n'y a pas d'option de configuration PHP intégrée pour désactiver ce comportement de remplacement automatique. Cependant, vous pouvez reconvertir manuellement les traits de soulignement en points dans votre script.
Solution : remplacement après traitement
Méthode 1 : utilisation de str_replace
Le code suivant remplace tous les traits de soulignement par des points en utilisant str_replace function :
<?php $var_with_underscores = $_SERVER['REQUEST_URI']; $var_with_dots = str_replace('_', '.', $var_with_underscores);
Méthode 2 : Utilisation de preg_replace
Vous pouvez également utiliser une expression régulière pour effectuer le remplacement :
<?php $var_with_underscores = $_SERVER['REQUEST_URI']; $var_with_dots = preg_replace('/_/', '.', $var_with_underscores);
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!