Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否可以将get变量命名为。操作人员_Php_Get - Fatal编程技术网

Php 是否可以将get变量命名为。操作人员

Php 是否可以将get变量命名为。操作人员,php,get,Php,Get,我认为这是一个简单的问题,我在传递变量时遇到了麻烦。例如,在名称中 www.example.com/index.php?auth.start=facebook 如果我将此url更改为 www.example.com/index.php?authstart=facebook 我试着得到这样的变量 $var = $_GET[authstart]; echo $var; 它很好用,但是 $var = $_GET[auth.start]; echo $var; 这表明,$var中没有任

我认为这是一个简单的问题,我在传递变量时遇到了麻烦。例如,在名称中

www.example.com/index.php?auth.start=facebook 
如果我将此url更改为

www.example.com/index.php?authstart=facebook
我试着得到这样的变量

$var = $_GET[authstart];

echo $var;
它很好用,但是

 $var = $_GET[auth.start];

 echo $var;
这表明,
$var
中没有任何价值。有人能帮我解决这个问题吗


提前感谢

数组键是字符串。虽然php可能会原谅您有时忽略了它们,但它们应该包含在内。总是这样

$_GET['yourkey'];
永远不会

$_GET[yourkey];
在您的情况下,这是正确的语法:

 $var = $_GET['auth.start'];
但是,正如@abracadver所说,这也不起作用,因为您的
已更改为
\uu

所以使用

 $var = $_GET['auth_start'];
更深入一点:如果您实际上没有将其设置为字符串,您将收到以下通知:

PHP注意:使用未定义的常量yourkey-假定为'yourkey'


变量名中的
在PHP中无效,因此使用
$\u GET
PHP将
转换为
。这样做是因为
register\u globals
$\u GET
数组提取到单个PHP变量中,这些变量不能包含

执行
print\r($\u GET)
将向您展示这一点

用户定义的数组工作正常:
$a['x.y']=1
等。

尝试使用
$\u GET[“auth\u start”]


希望这有帮助:)

我希望您的实际代码引用数组键。。。对吗?试试
$\u GET['auth.start']
您使用的是
运算符还是字符串中只有
?有一个非常显著的区别,而你的问题并不是很清楚。ffs,启用显示警告…@Qantas94Heavy:然后看看问题的标题。看看问题中的PHP代码行。有一句话很清楚,但整个问题包含了多个相互矛盾的话。就连我也对为什么投反对票感兴趣?哇,我刚刚试过,而且@Abracadver在回答中说的是真的
$\u GET
变量被视为变量而不是简单的数组键…我投了反对票,因为它不正确。你的意思是不完整。修正了,很好的观点。但你的也是,因为数组仍然需要一个字符串作为键。@Azrael令人惊讶的是,这个答案是正确的。我甚至会难过地说。但这是正确的。虽然没有+因为鼓励省略quotes@fejese你是对的,在我的调试中我加了引号,但是当我复制这个问题时,我确实忘记了。现在已经修好了。谢谢,我什么也没说。将问题与这个问题结合起来读错。@Azrael删除你的评论并不等于什么都不说;)。