PHP GET url param with name in name

时间:2015-10-14 13:11:45

标签: php

得到的东西看起来不起作用。说我有一个像

的网址
  

www.test1.php?WC.id = 12345

然后以下内容不返回任何内容

$_GET['WC.id'];

如果我取下WC。部分,然后它返回12345.我可以在我的网址参数名称中没有句号吗?

由于

3 个答案:

答案 0 :(得分:5)

来自documentation

  

重要的是要注意PHP将自动替换任何点   在带有下划线的传入变量名称中。 [...] PHP不可逆转   尝试修改包含这些字符的字段名称   保持与已弃用的register_globals功能的兼容性。

  

PHP转换为_的字段名称字符的完整列表   (下划线)是以下(不仅仅是点):

chr(32) ( ) (space)
chr(46) (.) (dot)
chr(91) ([) (open square bracket)
chr(128) - chr(159) (various)

因此,您可以使用WC.id名称访问WC_id

答案 1 :(得分:0)

如果您获得所有GET参数:

<?php
    var_dump($_GET);
?>

您将看到一个名为:WC_id

的变量
array (size=1)
  'WC_id' => string '12345' (length=5)

所以我认为你需要得到这个参数:

<?php
    $WC_id = $_GET['WC_id']; // Here is your 12345
?>

答案 2 :(得分:0)

您不应在网址中使用点来传递$_GET。您可以使用_替换它,这样可以更好地阅读,并且您不会遇到任何问题。

所以www.test1.php?WC_id=12345$_GET['WC_id']