PHP的一个很大的特点是,它在处理请求变量数组,所以如果你喜欢后一个...&test[one]=two&test[three]=four
字符串,那么你可以通过使用$_REQUEST['test']
访问test
作为数组。
但是我今天发现,有一个与多维数组$_REQUEST
一个问题,我想知道是否有办法解决它。
为了测试,我使用的字段的形式:
<input name="one[one]" />
<input name="one[two]" />
<input name="three[four[five]]" />
<input name="three[four[six]]" />
一旦这被提交,我用var_dump
看到阵列结构:
array(3) {
["one"]=>
array(2) {
["one"]=>
string(0) ""
["two"]=>
string(0) ""
}
["three"]=>
array(2) {
["four[five"]=>
string(0) ""
["four[six"]=>
string(0) ""
}
}
的one
元件是阵列指明分数如预期。但是three
元素不是。现在我不介意它是否不被支持,但是让我感到困惑的是原因。看看three
- four[five
和four[six
的子元素的名称。它不被解释为一个数组,因为由于某种原因,尾随]
这将有助于将这些元素识别为数组值,已经失去了!
没有人有这个解释?有没有办法解决这个问题,除了在$_REQUEST
阵列中最多使用一个级别?
请停止使用$ _REQUEST。这是有害的。 – 2011-05-03 22:20:44
@特雷斯科:请停止发布。这是不正确的。 – mario 2011-05-03 22:31:45