Maison > développement back-end > tutoriel php > Comment PHP gère-t-il les périodes dans les noms de variables de GET, POST et cookies ?

Comment PHP gère-t-il les périodes dans les noms de variables de GET, POST et cookies ?

Susan Sarandon
Libérer: 2024-12-08 22:44:10
original
699 Les gens l'ont consulté

How Does PHP Handle Periods in Variable Names from GET, POST, and Cookies?

Noms de variables PHP et remplacement de caractères

En PHP, il est courant de transmettre des champs de requête ou des cookies avec un point/point (. ) en leurs noms. Cependant, PHP remplace automatiquement ces points par des traits de soulignement (_). Ce comportement découle de l'utilisation par PHP de points pour la concaténation des noms de variables.

Explication

Selon la documentation PHP, le caractère point (.) n'est pas autorisé dans les noms de variables. Cela peut conduire à un comportement inattendu lors de la concaténation de variables, comme le montre l'exemple de code PHP ci-dessous :

$varname.ext;  /* invalid variable name */
Copier après la connexion

Dans l'exemple ci-dessus, PHP interprétera le côté droit (ext) comme une chaîne. Pour éviter cela, PHP remplace les points dans les noms de variables entrants par des traits de soulignement.

Conséquences

Ce comportement de remplacement affecte non seulement les paramètres GET et POST mais également les cookies. Par exemple, si un cookie portant le nom "x.y" est défini, PHP le changera automatiquement en "x_y" dans sa représentation interne.

Solutions

Pendant qu'il n'est pas possible d'empêcher le remplacement point par trait de soulignement de PHP, il existe des solutions de contournement pour récupérer le nom de variable d'origine avec des points. Une solution consiste à utiliser la fonction str_replace() pour remplacer les traits de soulignement par des points après avoir lu les variables, comme suggéré dans le commentaire de Dawnerd.

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