0

我想要这样的东西:

我已经向包含 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

4

2 回答 2

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);

这样,您就不会在当前范围内设置/覆盖变量。

于 2013-10-29T12:47:20.943 回答
0

提取$_POST数组,如下所示:

extract($_POST);

这将为您提供以 的键命名$_POST的变量以及相应的值。

于 2013-10-29T12:52:46.440 回答