我有一个普遍的问题。我编写了下面的代码来向$ _POST变量添加一个数组数组。我知道post变量也是一个数组。因此,在将多维数组逐个添加到post变量之后,我尝试print_r数据来查看它,但是只打印出一个数组。
为什么只打印出一个阵列?
$x = 0;
for($x; $x < count($return_auth); $x++){
$_POST = $return_auth[$x];
}
print_r($_POST);
答案 0 :(得分:3)
虽然书呆子的答案是绝对正确的,但我认为这不是正确的方法,简而言之,你正在修改$ _POST变量,因为$ _POST变量附加了一个含义,它包含该POST中发送的所有参数请求。如果您覆盖它,那么整个应用程序中的更改都会受到影响,并且在您的应用程序中运行的其他模块将会看到一个额外的post参数,该参数实际上并未在$ _POST数组中的该请求中发送,这不是正确的IMO。
答案 1 :(得分:2)
你正在做的是覆盖帖子。基于你在这里你可以做这样的事情:
$_POST[return_auth] = $return_auth;
除非你有理由循环数组来创建数组......
答案 2 :(得分:1)
在你的for循环中使用它
$_POST[] = $return_auth[$x];
修改强>
这会更好用
$_POST['something' . $x] = $return_auth[$x];
现在您可以访问(foo)例如
$_POST['somethingfoo'];