我正在开发一个表单构建器以允许管理员创建自定义表单。我使用jQuery脚本将新的HTML块插入到页面中。每个HTML块都包含一系列附加[]的表单字段,以作为数组进行处理。 (例如,question_number [])按阵列键号(非键值)组合多个阵列中的键(PHP)
我想找到一种方法根据数组键值将数组值组合在一起。例如,将q_number [3],q_label [3],q_desc [3],q_format [3]等组合在一起...来自不同阵列的密钥,通过阵列密钥号码分组在一起。
HTML
这里是我的jQuery脚本输出,所以你可以看到了正在进行的变量的基本HTML:
<input name="q_number[]" type="text" class="q-number" placeholder="E.g., 148">
<select name="q_format[]" class="q-format">
<option value="text">Simple text field</option><option value="number">Number field</option>
<option value="textarea">Paragraph textbox</option>
<option value="checkbox">Checkbox</option>
<option value="radio">Radio - choose from a list</option>
<option value="select">Dropdown select</option>
</select>
<input name="q_title[]" type="text" class="q-title" placeholder="E.g., Types of services held in 2016">
<textarea name="q_desc[]" class="q-desc" placeholder="Explanation to clarify the question."></textarea>
<textarea name="options[]" class="q-options" placeholder="option 1, option 2, option 3, etc."></textarea>
<input type="checkbox" checked="checked" name="required[]" value="1" class="q-required">
阵列数据
这里是导致阵列是什么样子时,表单处理时添加了3个问题:
[q_number] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
[q_format] => Array
(
[0] => number
[1] => radio
[2] => radio
)
[q_title] => Array
(
[0] => Number of baptisms this year
[1] => Which service do you like best?
[2] => Which demographic is increasing most quickly?
)
[q_desc] => Array
(
[0] =>
[1] =>
[2] =>
)
[options] => Array
(
[0] =>
[1] => Holy Eucharist, Baptism, Confirmation, Wedding, Funeral
[2] => Infants, Children, Youth
)
[required] => Array
(
[0] => 1
[1] => 1
[2] => 1
)
正如你所看到的,每个数组的值通过键号进行协调。
我正在寻找一种方法来做到这一点,不需要知道数组中的键的数量。这是为了一个全国性的系统,每个教区都可以创建自己的表单,所以我需要一个可以动态匹配数组键的解决方案。 (将密钥分组在一起后,我将为每组“问题”数据创建一个数据库记录,以便我可以生成用户将完成的表单)。
创建多维数组完全容易这些 - 但我不知道如何将所有相同数字的键放在一起。有没有办法用多维数组来做到这一点?还是有另一条我应该追求的途径?
非常感谢您的帮助。