php 使用数组的方式提交表单form数据

时间:2016-06-14
在网页表单提交开发中,我们一般使用单一的方式来提交表单,即每一个表单元素都有不同的name属性值。其实在表单提交时,我们也可以使用数组的方式提交表单,即每个表单元素有相同的name属性值,但name属性值包含一个[]。

先看下面实例:

html 表单代码如下:

<HTML>
<BODY>
<FORM METHOD="POST" ACTION="DealWithArrayFormData.php">
<H1>Contact Information</H1>
<TABLE>
<TR>
  <TD>Childrens' Names:</TD>
</TR>
<TR>
  <TD><INPUT TYPE="TEXT" NAME="children[]"></TD>
</TR>
<TR>
  <TD><INPUT TYPE="TEXT" NAME="children[]"></TD>
</TR>
<TR>
  <TD><INPUT TYPE="TEXT" NAME="children[]"></TD>
</TR>
<TR>
  <TD><INPUT TYPE="TEXT" NAME="children[]"></TD>
</TR>
<TR>
  <TD><INPUT TYPE="TEXT" NAME="children[]"></TD>
</TR>
</TABLE>
<BR>
<BR>
<BR>
<INPUT TYPE="SUBMIT" VALUE="Submit">
<BR>
<BR>
<INPUT TYPE="RESET"  VALUE="Clear the Form">
</FORM>
</BODY>
</HTML>

在这个表单里有很多文本元素,而且这些文本元素的name属性都是children[],那php服务器端该如何获取这些表单元素的值呢?

php获取这些表单元素值的代码:

<?php
$children=$_POST['children'];
foreach ($children as $index => $child){
    echo "<BR>child[$index]=$child";
}
echo "<BR>";

sort($children);

foreach ($children as $index => $child){
    echo "<BR>child[$index]=$child";
}
?>

$_POST['children']是一个数组,该数组中的元素是每个文本框的值,我们只需要对这个数组进行遍历就可以获取到每个表单元素的值了。

大家不妨把代码复制到自己的电脑上运行一下,查看结果后就应该一目了然了。