A partir de la Manuel PHP :
Points dans les noms des variables entrantes
En règle générale, PHP d nom des variables lorsqu'elles sont passées passées dans un script. Cependant, il noter que le point (point, point) n'est pas un caractère valide dans dans un nom de variable PHP. En voici la raison, regardez-la :
<?php $varname.ext; /* invalid variable name */ ?>
N l'analyseur syntaxique voit une variable nommée $varname, suivie de l'opérateur de concaténation de chaînes de caractères suivi de l'opérateur de concaténation la chaîne de caractères (c.-à-d. la chaîne de caractères sans guillemets) qui ne correspond à aucune clé connue ni à aucun mots réservés) "ext". Évidemment, cela n'a pas le résultat escompté.
Pour cette raison, il est noter que PHP remplacera automatiquement remplacer les points dans les noms de variables par des traits de soulignement.
Et un commentaire sur la page :
La liste complète des caractères de noms de champs que PHP convertit en _ (underscore) est la suivante (pas seulement le point) :
chr(32) ( ) (space)
chr(46) (.) (dot)
chr(91) ([) (open square bracket)
chr(128) - chr(159) (various)
PHP modifie de manière irréversible les noms de champs contenant ces caractères afin de maintenir la compatibilité avec la fonctionnalité register_globals, qui est obsolète.