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

access via post method input with integer name

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

输入代码:

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[] 的括号内放什么? 使名称成为数组的正确语法是什么?

通过 post 并且每第 12 次提取一个值只需添加一个计数器。如果其他 posted 信息在表格中,则对键名的第一部分进行预匹配,然后在该名称上迭代计数器。

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

如果该方法不吸引人,JSON 将数组中发送的值编码到 php,然后将 json_decode 编码到 php 数组中,然后然后取出每第十二个元素。

您的代码将生成十二个具有相同名称 ($x) 的输入字段,这是行不通的(每个输入都需要一个唯一的名称)。

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

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

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