php GET方式获取参数问题

amani11 2010-04-16 10:50:43
保存任意文件名如test.php,访问test.php?a.b.c&d_e_f

Q:为什么'.'自动变成'_'了?,能否通过设置

/**
*
* $_GET TEST
*
*/

echo implode('<br />', array_keys($_GET));
echo '<br />';


$arr = array('a.b' => 'cc');
echo implode('<br />', array_keys($arr));

...全文
280 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
thinkinginAOCP 2010-04-16
  • 打赏
  • 举报
回复
test.php?a-b-c&d_e_f 也会被处理成 a_b_c,服务器自动处理.
cooledit2730 2010-04-16
  • 打赏
  • 举报
回复
a.b.c不能正确解析为关联数组元素(命名不合法) PHP自动处理了。
amani11 2010-04-16
  • 打赏
  • 举报
回复
不小心就发布出去了

环境,Apache/2.2.11 (Win32) PHP/5.2.8

打印结果是


a_b_c<br />d_e_f<br />a.b


www_7di_net 2010-04-16
  • 打赏
  • 举报
回复
你可以替换一下或者 base64编码一下
Abin-2008 2010-04-16
  • 打赏
  • 举报
回复
你可以通過替換啊...
將值弄成a_b_c
得到之後 在 將_替換成.你要的效果不就是實現了...
xuzuning 2010-04-16
  • 打赏
  • 举报
回复
这是php的需求

如果允许 “a.b.c” 这样的命名,将导致一些 数组<-->变量 函数运行失败
因为 $a.b.c 不是合法的变量名
wenq0917 2010-04-16
  • 打赏
  • 举报
回复
不要用array_keys这个函数试试

foreach($_GET as $k=>$V) {
echo $k.'|'.$v.'<br />';
}
ghostwuboy 2010-04-16
  • 打赏
  • 举报
回复
http://localhost/csdn_html/getUrlTest.php?a-b&c&d_e_f&&c.d
print_r($_GET);
Array ( [a-b] => [c] => [d_e_f] => [c_d] => )

$_GET这个数组中获取key(?a-b&c&d_e_f&&c.d)被php本身处理了,要知道原因,去看php源码

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧