php - 我可以将关联数组放入要在 PHP 中处理的表单输入中吗?

标签 php html arrays drupal forms

我知道我可以做 <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/

相关文章:

php - 如何从 MySQL 表中对大型多维数组进行排序

php - getenv() 不显示所有变量,即使它们已设置

php - 在 PHP 中使用 OOP 查询数据库

javascript - 使用浏览器扩展程序将显示 "Hello World"的小部件添加到已定义的网页

java - 冒泡排序作业出错

java - 为什么 clone() 是复制数组的最佳方式?

php - 当 SQL 查询为空时使用 PHP 重定向

html - 更改 Html5 Canvas 元素的颜色深度

javascript - 通配符/动态 div id 未通过 $(this) 获取值

javascript - 匹配数组中的子数组。计划中的计划