如果我的表单包含许多动态生成的字段(它们的名称是整数,因为它们是在生成它们的迭代后命名的)。我需要通过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 []的括号内? 使名称成为数组的正确语法是什么?
答案 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', ...