我有3个隐藏字段和3个文本字段。我需要遍历两个UPDATE数据库记录。如果我单独使用foreach循环,它会正确地发布3个值。如果我尝试一起使用它们,它似乎是文本输入值的三倍,这是一个日期。所以不要看起来像这样:
1 - 2017-04-05
2 - 2017-04-06
3 - 2017-04-07
看起来像这样:
1 - 2017-04-05
2 - 2017-04-05
3 - 2017-04-05
1 - 2017-04-06
2 - 2017-04-06
3 - 2017-04-06
1 - 2017-04-07
2 - 2017-04-07
3 - 2017-04-07
RuntimeException
答案 0 :(得分:1)
假设您要发布尺寸为unit
的{{1}}和commit_date
3
您将看到如下输出:
foreach($_POST['commit_date'] as $commitdate) { \\ this will iterate 3
foreach($_POST['unit'] as $units) { \\ this will iterate 9 times
echo $units .= $commitdate . "<br/>";
}
}
答案 1 :(得分:1)
如果我单独使用foreach循环,它会正确发布3个值。如果我尝试一起使用它们,它似乎是文本输入值的三倍,这是一个日期。
那是因为你正在使用嵌套的foreach
循环,这意味着对于每个外循环,内循环将被执行三次。这就是为什么你得到9个值。
相反,请使用像这样的简单for
循环
$count = count($_POST['unit']);
for($i = 0; $i < $count; ++$i){
echo $_POST['unit'][$i] .= $_POST['commit_date'][$i] . "<br/>";
}