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

时间:2012-02-18 13:20:49

标签: php forms input

让我说我有这样的事情: http://gyazo.com/642987562175afc6d11a962762327744.png?1329570534

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

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

干杯

3 个答案:

答案 0 :(得分:3)

只需创建表单的每个(相似)元素(在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[]" />

答案 1 :(得分:0)

确保每个输入都有一个唯一的名称,方法是为每个附加字段递增它,例如:

<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']。

有意义吗?

答案 2 :(得分:-1)

可变长度参数列表

PHP支持用户定义函数中的可变长度参数列表。使用func_num_args(),func_get_arg()和func_get_args()函数非常简单。

不需要特殊的语法,参数列表仍然可以明确地提供函数定义,并且表现正常。

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