use*_*774 1 php forms http request multidimensional-array
PHP的一个很棒的功能是它处理请求变量中的数组,所以如果你发布一个像那样的字符串,...&test[one]=two&test[three]=four你可以使用它test作为数组访问$_REQUEST['test'].
但是我今天发现多维$_REQUEST数组存在问题,我想知道是否有办法绕过它.
为了测试,我使用了一个带有字段的表单:
<input name="one[one]" />
<input name="one[two]" />
<input name="three[four[five]]" />
<input name="three[four[six]]" />
Run Code Online (Sandbox Code Playgroud)
提交后,我常常var_dump看到数组结构:
array(3) {
["one"]=>
array(2) {
["one"]=>
string(0) ""
["two"]=>
string(0) ""
}
["three"]=>
array(2) {
["four[five"]=>
string(0) ""
["four[six"]=>
string(0) ""
}
}
Run Code Online (Sandbox Code Playgroud)
该one元素按预期排列.但three元素不是.现在我不介意它是否只是不受支持,但令我困惑的是原因.查看three- four[five和的子元素的名称four[six.它没有被解释为数组,因为由于某种原因,]有助于将这些元素标识为数组值的尾随已经丢失!
有没有人对此有解释?除了在$_REQUEST数组中最多只使用一个级别之外,还有什么办法吗?