通过post方法输入访问整数名称

时间:2015-02-03 12:18:18

标签: php html post input

如果我的表单包含许多动态生成的字段(它们的名称是整数,因为它们是在生成它们的迭代后命名的)。我需要通过post或get获取他们的值(这是我将自己处理的问题,所以我们假设它的帖子)。

输入代码:

for ($x = 0; $x < 5; $x++)
     for ($y = 0; $y < 12; $y++){
                        echo '<input type="text" name="'.$x.'"> Bar 1<br/>';  
     }

如何使用php获取服务器端数组中的所有第12个值?我一般都知道如何使用post,但在这种情况下我应该把它放在$ _POST []的括号内? 使名称成为数组的正确语法是什么?

2 个答案:

答案 0 :(得分:1)

通过帖子,永远12号拉出一个值只需添加一个计数器。如果其他发布的信息在表单中,则为您的密钥名称的第一部分执行preg匹配,然后在该名称上迭代计数器。

foreach ($_POST as $key => $value)
 echo "Field ".htmlspecialchars($key)." is ".htmlspecialchars($value)."<br>";

如果这种方法不具吸引力,JSON会将数组中发送的值编码到php中,然后将json_decode转换为php数组,然后取出每个第12个元素。

答案 1 :(得分:0)

您的代码将生成12个具有相同名称($x)的输入字段,这些字段不起作用(每个输入都需要唯一的名称)。

如果我没记错的话,你可以这样做:

echo '<input type="text" name="'.$x.'[]"> Bar 1<br/>';

它会在$ _POST生成一个数组:$_POST[$x][0] = 'first', $_POST[$x][1] = 'second', ...