打印后台返回的信息
有什么办法能够保留字符“dl.is_distribution”吗
4 回答
慕容3067478
TA贡献1773条经验 获得超3个赞
官方文档有说明这个现象:
变量名中的点和空格被转换成下划线。例如 <input name="a.b" /> 变成了
$_REQUEST["a_b"]
。
原因是:
通常,PHP 不会改变传递给脚本中的变量名。然而应该注意到点(句号)不是 PHP 变量名中的合法字符。
<?php $varname.ext; /* 非法变量名 */ ?>
这时,解析器看到是一个名为 $varname
的变量,后面跟着一个字符串连接运算符,后面跟着一个裸字符串(即没有加引号的字符串,且不匹配任何已知的健名或保留字)'ext'。很明显这不是想要的结果。
出于此原因,要注意 PHP 将会自动将变量名中的点替换成下划线。
其实不止点,下面的都会被处理
chr(32) ( ) (space)
chr(46) (.) (dot)
chr(91) ([) (open square bracket)
chr(128) - chr(159) (various)
PHP 对于 web 环境做了很多处理,这些只是冰山一角,希望能给楼主和大家带来帮助。
顺便说下,用点分隔变量名,是不是不太符合工程命名规范?驼峰、下划线都可以呀。
- 4 回答
- 0 关注
- 451 浏览
添加回答
举报
0/150
提交
取消