我正在重写一个表单,该表单使用带数字的变量而不是数组来表示输入元素中的名称和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]']); ?>">
答案 0 :(得分:4)
这几乎是正确的:你必须使用
$_POST['agency'][$i]
而不是
$_POST['agency[$i]']