我知道我可以做 <input name="foo[]">
之类的事情,但是否可以执行 <input name="foo[bar]">
之类的操作?并让它在 PHP 中显示为 $_POST['foo']['bar']
?
我问的原因是因为我正在制作一个巨大的表单元素表(包括带有多个选择的 <select>
),并且我希望为我要发布到的脚本清晰地组织我的数据.我希望每列中的输入元素具有相同的基本名称,但具有不同的行标识符作为数组键。这有意义吗?
编辑:我已经尝试过了,但显然 Drupal 正在干扰我正在尝试做的事情。我以为我只是弄错了语法。 Firebug 告诉我,我的输入名称是这样构造的,但我的数据返回为 [foo[bar]] => data
而不是 [foo] => array([bar] => data)
.
编辑 2: 看来我真正的问题是我假设 $form_state['values']
在 Drupal 中,数组层次结构与 $_POST
相同。 .我不应该认为 Drupal 会如此合理和直观。我为浪费您的时间而道歉。你可以去做你的事了。
最佳答案
假设我们要使用以下表格打印学生成绩:
<form action="" method="POST">
<input name="student['john']">
<input name="student['kofi']">
<input name="student['kwame']">
<input type="submit" name="submit">
</form>
和 PHP 代码打印他们的分数:
if(isset($_POST['submit']))
{
echo $_POST['student']['john'] . '<br />';
echo $_POST['student']['kofi'] . '<br />';
echo $_POST['student']['kwame'] . '<br />';
}
这将打印您在字段中输入的值。
关于php - 我可以将关联数组放入要在 PHP 中处理的表单输入中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6469063/