2016-07-27 24 views
3

访问数组我使用数字而不是数组的变量来表示输入元素中的名称和ID。 (如agency1,agency2,agency3 ...)在输入名称中使用数据保留(PHP)

我知道我可以这样做:

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

这几乎是正确的:你必须使用'$ _ POST [ '代理'] [$ i] '而不是'$ _POST ['agency [$ i]']' – roberto06

+0

@ roberto06有道理,谢谢!如果你想发布它作为答案,我会标记它。 – Tiffany

+1

完成。请尽量避免使用短标签,例如'','<?php echo $ var; ?>更好,并且兼容** ALL ** PHP版本。 – roberto06

回答

4

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

$_POST['agency'][$i] 

,而不是

$_POST['agency[$i]']