0

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”

为什么它给出错误?

4

2 回答 2

3

又是常见的bug...

echo $a[x];

应该

echo $a['$x'];

在 中echo $a[x];,x 被视为(所谓的)“裸字符串”,PHP 将寻找一个名为 的常量x,该常量不存在。

另一方面,您需要获取超全局中的$x密钥,该密钥$_GET由 PHP 从您的 URL 填充。

于 2012-12-29T04:34:00.420 回答
1

你需要这个:

echo $a['$x']

请注意,您正在传入$x查询字符串。确保您使用适当的字符串键$_GET,或$a在您的情况下。

于 2012-12-29T04:35:04.847 回答