如何使用PHP解析未知数量的输入?

问题描述:

可以说我有这样的事情: http://gyazo.com/642987562175afc6d11a962762327744.png?1329570534如何使用PHP解析未知数量的输入?

基本上,用户填写此表,如果有更多的人,按最后一个表单标签上会增加一个输入。我相信Quizlet做了类似的事情。

我将如何用PHP解析所有这些输入?我显然不知道会有多少输入。

干杯

只需创建的形式(HTML)的每一个(类似)的元件作为阵列(在PHP)的一个条目。见http://php.net/faq.html.php#faq.html.arrays 你可以只遍历元素,然后

foreach ($_POST['MyArray'] as $element) { echo $element; } 

只是为了让它完成:如果你点击上面,那么你看到的链接,你的表单元素应该如何看起来像。

<input name="MyArray[]" /> 
<input name="MyArray[]" /> 
<input name="MyArray[]" /> 
<input name="MyArray[]" /> 
+0

很遗憾,非常感谢,这比我预期的要容易得多 – chintanparikh 2012-02-18 13:35:43

+0

值得注意的是,当你为输入编写HTML时,你需要指定' itsmequinn 2012-02-18 13:35:51

+0

@itsmequinn那在php.net上提到(见链接)。我已经将它添加到案例的答案中,php.net最终不再可用。 – KingCrunch 2012-02-18 14:05:38

可变长度参数列表

PHP具有用于在用户定义的函数的可变长度参数列表支持。这真的很简单,使用func_num_args(),func_get_arg()和func_get_args()函数。

不需要特殊的语法,并且参数列表仍可以用函数定义明确提供,并且将像正常一样运行。

http://php.net/manual/en/functions.arguments.php :)

确保每个输入通过递增每增加一个字段都有一个唯一的名称,例如:

<input type="text" name="field-1" /> 
<input type="text" name="field-2" /> 
<input type="text" name="field-3" /> 

然后当你提交你的PHP脚本,您可以访问所有根据表单提交方法,在$ _GET或$ _POST数组中创建表单字段。你可以做一个简单的while循环遍历$ _GET ['field-1'],$ _GET ['field-2'],$ _GET ['field-n']。

有意义吗?