过滤帖子字段(使用字段集?)

时间:2018-04-18 11:18:46

标签: php arrays post filtering fieldset

您好我无法过滤我的帖子值。当我发布它会返回一个像:

这样的数组
Array ( [db-table] => afdeling 
        [box-2] => 2 
        [box-3] => 3 
        [db-fields] => array( random fields )
        [box-6] => 6
)

表单构建为4个部分,首先是一些位于字段集内的文本框,然后是4个复选框,在第2个字段集中标记为1 - 4,然后在thirth字段集中有一些文本框,最后是4个标签为5 - 8的复选框在第四个字段集中。字段集命名为:

  • DB-资料表
  • 复选框-1
  • DB-fielddata
  • chechboxes-2

我也寻找类似“从帖子中过滤类似的命名字段”之类的东西,并尝试使用一些数组函数,例如array_keys / filter with 2 for循环来逐个获取它们但我没有得到它。

最后我期望做的是将$_POST中的数组过滤为这样的结构:

Array ( 
  'db-data' =>    array( [db-table] => afdeling 
                         [db-fields] => array( random fields )
                  ),
  'checkboxes' => array( [box-2] => 2 
                         [box-3] => 3 
                         [box-6] => 6
                  )           
)

那么有人可以推动我在正确的方向上过滤掉阵列中的字段吗?

附加:

此刻我试图按顺序排列数组,以便框 - ?字段将位于数组的开头或结尾。

然而,这个问题是盒子?字段可以发生1到8次。所以我需要某种方式来计算每个看起来像这样的数组键:box-?。要知道那些有多少。

1 个答案:

答案 0 :(得分:1)

您可以使用[]为字段命名,例如:

<input name="db-data[db-table]" ... />
<input name="db-data[db-fields][first-field]" ... />
<input name="db-data[db-fields][second-field]" ... />

<input name="checkboxes[box-1]" ... />
<input name="checkboxes[box-2]" ... />

在这种情况下,您的$_POST数组已经具有您想要的结构。