为什么PHP会取代。如果为';美元中有一把钥匙吗?
可能重复:为什么PHP会取代。如果为';美元中有一把钥匙吗?,php,Php,可能重复: 示例:test.php?foo.bar=1 print_r($_GET); // Array ( [foo_bar] => 1 ) 这里有一段引用自 传入变量名中的点 通常情况下,PHP不会更改变量的名称 传递到脚本中。但是,应该注意的是,圆点 (句点,句号)不是PHP变量名称中的有效字符。 因此,请看一下: <?php $varname.ext; /* invalid variable name */ ?> Now, what the 现在,什么是
示例:test.php?foo.bar=1
print_r($_GET);
// Array ( [foo_bar] => 1 )
这里有一段引用自
传入变量名中的点
通常情况下,PHP不会更改变量的名称
传递到脚本中。但是,应该注意的是,圆点
(句点,句号)不是PHP变量名称中的有效字符。
因此,请看一下:
<?php $varname.ext; /* invalid variable name */ ?> Now, what the
现在,什么是
parser sees是一个名为$varname的变量,后跟字符串
串联运算符,后跟空字符串(即无引号
与任何已知关键字或保留字“ext”不匹配的字符串。
显然,这并没有达到预期的效果。因此,它
需要注意的是,PHP将自动替换中的任何点
带下划线的传入变量名
如果设置了register\u globals指令,则$\u GET中的数组键必须用作变量名,php变量名中不允许使用点、空格以及各种其他字符。由于担心您已经设置了该指令,php会替换php手册中的那些“无效”字符,这些字符根据以下问题准确无误: 注意: 变量名中的点和空格转换为下划线。例如变成$_请求[“a_b”]
来源:您是否可以始终将名称作为值传递?test.php?1=foo.bar