【发布时间】:2011-09-22 01:57:09
【问题描述】:
我知道我可以执行<input name="foo[]"> 之类的操作,但是否可以执行<input name="foo[bar]"> 之类的操作并让它在PHP 中显示为$_POST['foo']['bar']?
我问的原因是因为我正在制作一个巨大的表单元素表(包括带有多个选择的<select>),并且我希望为我要发布到的脚本清晰地组织我的数据.我希望每列中的输入元素具有相同的基本名称,但具有不同的行标识符作为数组键。这有意义吗?
编辑:我已经尝试过了,但显然 Drupal 正在干扰我正在尝试做的事情。我以为我只是弄错了语法。 Firebug 告诉我,我的输入名称的构造与此完全相同,但我的数据返回为 [foo[bar]] => data 而不是 [foo] => array([bar] => data)。
编辑 2: 看来我真正的问题是我假设 Drupal 中的 $form_state['values'] 将具有与 $_POST 相同的数组层次结构。我不应该认为 Drupal 会如此合理和直观。我为浪费您的时间而道歉。你可以去做你的事了。
【问题讨论】:
-
奇怪,我试图做到这一点,但没有成功。我想这只是因为我使用的是 Drupal:/ 我以为我只是没有正确使用 PHP 语法。现在我不确定是否应该修改这个问题或写一个新的、特定于 Drupal 的问题。
标签: php html arrays drupal forms