我有一个表单,它为每个输入发布一个值数组,并且我需要在控制器中收集四个相关输入。这是以下形式:
<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?
答案 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']
,它将是一个关联数组。