php 筛选帖子字段(使用字段集?)

p4rjhz4m  于 2023-02-15  发布在  PHP
关注(0)|答案(1)|浏览(124)

我在过滤帖子的值时遇到了问题。当我发帖时,它会给予一个数组,如下所示:

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

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

  • 数据库表数据
  • 复选框-1
  • 数据库字段数据
  • 复选框-2

我也寻找过类似于“从帖子中过滤相似的命名字段”这样的东西,并尝试用一些数组函数(如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
                  )           
)

那么,有人能给我一个正确的方向来过滤数组中的字段吗?
添加:
现在,我尝试按字母顺序排列数组,以便box-?字段将位于数组的开头或结尾。
然而,这样做的问题是box-?字段可能出现1到8次。因此,我需要某种方法来计算每个数组键,如下所示:盒子-?。来知道有多少。

mrphzbgm

mrphzbgm1#

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

<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数组将已经具有所需的结构。

相关问题