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

またよくあるバグ…

echo $a[x];

する必要があります

echo $a['$x'];

ではecho $a[x];、 x は (いわゆる) 「裸の文字列」として扱われ、PHP はx存在しない という名前の定数を探します。

一方、URL から PHP によって入力されるスーパーグローバルで$xキーを取得する必要があります。$_GET

于 2012-12-29T04:34:00.420 に答える
1

代わりにこれが必要です:

echo $a['$x']

$xクエリ文字列を渡していることに注意してください。$_GETあなたのケースでは、またはの適切な文字列キーを使用していることを確認$aしてください。

于 2012-12-29T04:35:04.847 に答える