0

次のコードを使用して$_REQUEST、phpからデータを取得しています。

for($i=0;$i<intval($q);$i++)
    {
       $construct="'".$i."'";
       echo $construct;
       $p=$_REQUEST[$construct];
       echo $p;

    }

ここで、「0」、「1」などに値があります。しかし、何らかの理由で機能しません。ただし、 $_REQUEST['0'] で置き換えると、値が正常に出力されるようです。私が間違っていることはありますか?

4

2 に答える 2

1

の周りの引用符を削除します$i:

for($i=0;$i<intval($q);$i++)
{
   $construct=$i;
   echo $construct;
   $p=$_REQUEST[$construct];
   echo $p;

}

これは、引用符が配列インデックスの一部ではないためです。

さらに、デバッグしたい場合は、次の$_REQUESTように変数の内容全体を書き出すことができます。

print "<pre>";
print_r($_REQUEST);
print "</pre>";

編集:

$a[$b]$b=0または$b='0'またはであっても同じですが、 の場合は同じではあり$b="0"ません$b="'0'"

于 2012-10-02T04:16:39.750 に答える
1

変数$constructの値に一重引用符が含まれていますが、これは不要です。'0'の実際の値を示している0ように書き出すと、 の値"'0'"を示します'0'。コードは次のようになります。

for($i=0;$i<intval($q);$i++)
{
   $construct= strval($i);
   echo $construct;
   $p=$_REQUEST[$construct];
   echo $p;
}

またはもっと簡単に:

for ($i=0; $i<intval($q); $i++) {
   echo $_REQUEST[strval($i)];
}
于 2012-10-02T04:18:34.087 に答える