在PHP中使用带有变量名的GET和POST数组

在PHP中使用带有变量名的GET和POST数组,php,http,Php,Http,我在PHP中与变量作斗争。 我有下面的代码 if($_GET["action"] == 1){ $action = "_GET"; }else{ $action = "_POST"; } ... ${$action["lang_id"]} 我得到以下错误: 非法的字符串偏移量“lang\u id”(但如果我直接使用$\u GET名称,它会正常工作) udefined变量(是,下划线) 提前谢谢 请记住,变量名介于${和}之间,您要查找的变量名是\u

我在PHP中与变量作斗争。 我有下面的代码

if($_GET["action"] == 1){
        $action = "_GET";
    }else{
        $action = "_POST";
}
...
${$action["lang_id"]}
我得到以下错误:

  • 非法的字符串偏移量“lang\u id”(但如果我直接使用$\u GET名称,它会正常工作)
  • udefined变量(是,下划线)
提前谢谢

请记住,变量名介于
${
}
之间,您要查找的变量名是
\u GET
\u POST

您正试图获取
$action[“lang_id”]
的值并将其用作变量名…但是
$action
是一个字符串

您需要使用
$action
作为变量名,然后从结果中读取属性

${$action}["lang_id"]
…但是您最好使用
$\u REQUEST
而不是变量。(但要注意与post或查询字符串数据同名的cookie)

请记住,变量名介于
${
}
之间,您要查找的变量名是
\u GET
\u POST

您正试图获取
$action[“lang_id”]
的值并将其用作变量名…但是
$action
是一个字符串

您需要使用
$action
作为变量名,然后从结果中读取属性

${$action}["lang_id"]

…但是您最好使用
$\u REQUEST
而不是变量。(注意与post或查询字符串数据同名的Cookie)。

您可以使用$\u REQUEST


$\u请求只是$\u GET和$\u POST的组合

它适用于上述两个全局变量


因此,只需使用
$\u REQUEST['lang\u id']

您就可以使用$\u REQUEST


$\u请求只是$\u GET和$\u POST的组合

它适用于上述两个全局变量


因此,只需使用
$\u REQUEST['lang\u id']

您正在分配$action,字符串“\u GET”,然后应用数组action使用
$\u REQUEST['lang\u id']
您正在分配$action,字符串“\u GET”,然后应用数组action使用
$\u REQUEST['lang\u id']
您是如何得出这是他们想要做的?对$\u GET[“action”]的检查使我感到困惑off@AntonyD安德里亚——我瞥了一眼,这似乎很明显。(可能你会被
$\u GET
为任何请求填充了查询字符串数据而不是仅限于获取请求的数据所迷惑。许多人似乎被变量名称的错误选择绊倒了)。你是如何得出这是他们想要做的?对$\u GET[“action”]的检查使我感到困惑off@AntonyD安德里亚——我瞥了一眼,这似乎很明显。(也许你会被
$\u GET
为任何请求填充了查询字符串数据而不是仅限于获取请求的数据所迷惑。许多人似乎被变量名称的错误选择绊倒了)。“$\u请求只是$\u GET和$\u POST的组合”-“just”?不,不仅仅是。就是这些和$\u COOKIE。“$\u请求只是$\u GET和$\u POST的组合”-“just”?不,不仅仅是。就是那些和$\u饼干。