使用双括号缺少括号的POST数据

时间:2013-05-27 15:18:00

标签: php post

当这个怪物通过POST发送时

<input name="arrayname[index][string[name]]" value="321" />

这就是我得到的:

print_r($POST['arrayname']);
>> Array ( [index] => Array ( [string[name] => 321) )

secons支架在哪里?

我可以通过以下方式访问它:

echo $val['string[name'];

但那太可怕了。

如果可能,应保留名称的结构。

它是大型通用方法的一部分,仅在某些情况下会生成theese名称。如果不能正确地使用像theese这样的名字(它就像我上面提到的那样丑陋),我将不得不改变整个表格的生成。

3 个答案:

答案 0 :(得分:3)

Incorrect : arrayname[index][string[name]]


Correct : arrayname[index][string][name]

答案 1 :(得分:0)

您必须选择:

  • 让PHP使用方括号语法
  • 将POST数据转换为数组
  • 自己从raw post data
  • 解析POST数据

你不能同时拥有两者。

答案 2 :(得分:-1)

<input name="arrayname[index][string][name]" value="321" />