访问输入名称中用于数据保留的数组(PHP)

时间:2016-07-27 12:32:50

标签: php arrays forms post

我正在重写一个表单,该表单使用带数字的变量而不是数组来表示输入元素中的名称和ID。 (例如,agency1,agency2,agency3 ......)

我知道我可以这样做:

for ($i = 0; $i < $AMOUNT_OF_AGENCIES; $i++)
{
  <label for="agency<?= $i; ?>">Agency Name</label><input type="text" name="agency[]" id="agency<?= $i; ?>">
}

输出我需要的输入元素,并在一个更易于使用的数组中输出,但我还想保留数据,以防由于表单另一部分的验证错误导致表单错误。

我可以这样做吗?

<input type="text" name="agency[]" id="agency<?= $i; ?>" value="<?= htmlspecialchars($_POST['agency[$i]']); ?>">

1 个答案:

答案 0 :(得分:4)

这几乎是正确的:你必须使用

$_POST['agency'][$i]

而不是

$_POST['agency[$i]']