过滤 post 个字段(使用字段集?)

filtering post fields (using fieldsets?)

您好,我无法过滤我的 post 值。当我 post 它会返回一个数组,如:

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

表单分为 4 个部分,首先是位于字段集中的一些文本框,然后是第二个字段集中标记为 1 - 4 的 4 个复选框,然后是第三个字段集中的更多文本框,最后还有 4 个标记为 5 的复选框- 8 在第四个字段集中。字段集被命名为:

我也找过 "filtering similar named fields from a post" 之类的东西,并尝试使用一些数组函数,例如 array_keys/filter 和 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-?。要知道有多少人。

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

<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 数组已经具有您想要的结构。