1.PHP
<?php
header( 'Location: 4.php?$x=1&y=2&z=3' );
?>
发送x,y,z的值
4.php
<?php
print '<pre>';
$a= $_GET ;
echo $a[x];
print '</pre>';
?>
当我们调用1.php时,它被重定向到4.php
它显示x的值是正确的,但它给出了错误
注意:使用未定义的常量x - 在第6行的C:\ wamp \ www \ 4.php中假定为'x'
为什么会出错?
答案 0 :(得分:3)
再次出现常见错误......
echo $a[x];
应该是
echo $a['$x'];
在echo $a[x];
中,x被视为(所谓的)“裸字符串”,PHP将查找名为x
的常量,该常量不存在。
另一方面,您需要获取$x
超全局中的$_GET
密钥,该密钥由您的URL填充PHP。
答案 1 :(得分:1)
你需要这个:
echo $a['$x']
请注意,您在查询字符串中传递了$x
。请确保在您的案例中使用$_GET
或$a
的相应字符串键。