PHP收获阵列从表单发布

时间:2013-12-23 19:35:19

标签: php forms

我有一个表单,它为每个输入发布一个值数组,并且我需要在控制器中收集四个相关输入。这是以下形式:

<div data-role="collapsible" data-theme="a" data-content-theme="d" data-collapsed-icon="arrow-d" data-expanded-icon="arrow-u">
    <h4>Resident Contact<br>(Phone and/or Door to Door)</h4>
    <div id="resident_contact" data-role="fieldcontain">
        <div id="contact_entry">
            <p style="font:bold 10px sans-serif">Name/Apt</p>
            <input type="text" name="contact_name[]" /><br>
            <p style="font:bold 10px sans-serif">Personal Interaction</p>
            <input type="text" name="contact_interaction[]" /><br>
            <p style="font:bold 10px sans-serif">Updated Contact Info</p>
            <input type="text" name="contact_updated_info[]" /><br>
            <p style="font:bold 10px sans-serif">Work Orders Questions Concerns</p>
            <input type="text" name="contact_work_orders[]" />
            <br><br>
        </div>
    </div>
    <p><a href="#" data-role="button" data-mini="true" data-inline="true" data-icon="plus" data-theme="b" id="btnContact">Add Another</a></p>
 </div>

POST变量的转储如下所示:

[contact_name] => Array ( [0] => Joan Rivers / 999 [1] => John Adams / 125 ) [contact_interaction] => Array ( [0] => At Desk [1] => At Desk ) [contact_updated_info] => Array ( [0] => No [1] => No ) [contact_work_orders] => Array ( [0] => Asked for more coffee filters [1] => Requested a new remote )

在我的表单处理程序中,如何将其转换为关联数组,其中contact_name,contact_interaction,contact_updated_info和contact_work_orders正确组合在一起,并且所有这些数组(因为用户最多可以添加10个此类数据组)在PHP中数组叫$ contacts?

1 个答案:

答案 0 :(得分:1)

您可以通过更改输入字段的名称使PHP以您想要的格式创建数组。

而不是

<input type="text" name="contact_name[]" />
<input type="text" name="contact_interaction[]" />

试试这个:

<input type="text" name="contact[name][]" />
<input type="text" name="contact[interaction][]" />

这将创建$_POST['contact'],它将是一个关联数组。