PHP 支持表单中的数组。您可以使用索引命名表单字段,例如<input type="text" name="input[74]" ... />
. 然后在 PHP 中,您可以使用for
orforeach
循环访问它们,因为它们将作为数组提供(即您将拥有$_POST["input"][74]
)。因此,您可以编写如下内容:
$values = $_POST["input"];
for ($i = 0; $i < MAX_INPUTS; $i++) {
if (!isset($values[$i])) {
$values[$i] = ""; // default value
}
}
如果由于某种原因您无法更改 HTML 端,您仍然可以使用循环来动态创建字段名称并将数据复制到 PHP 端的数组中,例如:
$value = array();
for ($i = 0; $i < MAX_INPUTS; $i++) {
$name = sprintf("input%d", $i);
if (isset($_POST[$name])) {
$value[$i] = $_POST[$name];
} else {
$value[$i] = ""; // default
}
}
在这两种建议的解决方案中,您只有几行代码,而不是几乎相同行的数十次重复。在这两个示例中,我假设您的字段以开头input0
并且总共有MAX_INPUTS
字段。如果并非所有字段都存在(例如,您只有 input1、intput2、input74 和 input75),您可以创建一个包含字段编号的数组:
$field_list = array(1,2,74,75);
然后使用它来检查您的数据(这里是 HTML 字段名称中包含数组的示例):
$values = $_POST["input"];
foreach ($field_list as $num) {
if (!isset($values[$num])) {
$values[$num] = ""; // default value
}
}