我想要这样的事情:
我已向服务器发送包含my_par = test的请求。
我可以像$ my_par = $ _REQUEST [“my_par”]那样得到它。这是正常的方式。
但我想如果我的变量名与请求名匹配,那么它会自动获取该参数的值。
所以我想要一个像 set_variable_value(array($ my_par,$ my_par2),$ _ REQUEST)这样的函数,然后它应该像这样设置变量的值:
$my_par = $_REQUEST["my_par"];
$my_par2 = $_REQUEST["my_par2"];
是否有可能在PHP中实现这样的目标?
或以简单的方式
如果我发送这样的请求my_par1 = test& my_par2 = test2,我想通过在其名称的开头添加$来访问它们,如下所示:
$ my_par1和$ my_par2
答案 0 :(得分:0)
我不知道您为什么要这样做,但这可以通过parse_str()
来实现:
$query = http_build_query($_REQUEST);
parse_str($query);
所以,如果请求如下:
test.php?foo=test1&bar=test2&baz=test3
...你可以使用他们的查询参数名称来访问变量,如下所示:
echo $foo;
会输出:
test1
使用上面的代码,您可能会意外覆盖已定义的变量。如果使用parse_str()
的第二个参数,则可以将变量存储在数组中,而不是:
parse_str($query, $params);
这样,您就不会在当前范围内设置/覆盖变量。
答案 1 :(得分:0)
提取$_POST
数组,如下所示:
extract($_POST);
这将为您提供以$_POST
的键命名的变量,以及相应的值。