2013-12-23 41 views
0

我有一个表单发布每个输入的值数组,并且有四个相关的输入需要在控制器中收集。这里的形式:PHP收获数组从表格发布

<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在一个名为$ contacts的PHP数组内部正确地分组在一起,并且所有这些数组(因为用户可以添加多达10个这样的数据组)?

+3

为什么不为你做?改变你的输入为:'',然后你的$ _POST ['contact']'应该是一个关联数组。 –

+0

LOL ...我刚刚学会了你可以在约30分钟前在POST中联系[],现在我正在学习你可以联系[] [] – jgravois

+0

@RocketHazmat,你能否将你的评论变成答案,以便我可以接受吗? – jgravois

回答

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'],这将是一个关联数组。