具有多维数组的PHP表单数据

时间:2018-03-17 09:52:24

标签: php arrays forms multidimensional-array

假设我有一个包含输入字段

的表单

name="my_options[my_elements][1][name]"

和另一个

name="my_options[my_elements][1][category]"

当我提交表单时,一切正常,并且包含名称和类别键/值的新数组将添加到数据库中my_elements数组中的my_options数组中。

我也可以使用name="my_options[my_elements][][name]"

my_options[my_elements]

中创建新数组

但是我显然不能使用name="my_options[my_elements][][category]"

因为这会将类别值放入另一个新数组中。

有没有办法动态跟踪使用第一个[]创建的新数组的位置,以便可以在多维数组的特定级别添加值?

为了澄清,我希望动态地将元素添加到以下数组中:

'my_options' =>
 array (size ?)
  0 => 
   'my_elements' => 
     array (size=2)
      0 => 
         array (size=2)
            'name' =>  'name 1'
            'category' =>  'cat 1'
      1 => 
         array (size=2)
            'name' =>  'name 2'
            'category' =>  'cat 2'

`

1 个答案:

答案 0 :(得分:0)

我不会在你的应用程序的html部分使用数组定义。

坚持使用输入名称,例如name="category",并在您的php文件中获取提交的数据,并按照您希望的方式将其组织在一个数组中。

假设您使用POST作为表单方法: $category = $_POST['category'];

(不要忘记验证输入)