PHP处理多维$ _REQUEST数组吗?

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数组中最多只使用一个级别之外,还有什么办法吗?

sim*_*aun 5

尝试three[four][five]three[four][six]不是.