Php 多重foreach?

Php 多重foreach?,php,forms,foreach,Php,Forms,Foreach,我必须使用foreach操作,因为我的表单项数量未知,我的表单如下所示: 如果表单的格式是这样的,则可以执行以下操作: foreach($_POST['id'] as $i => $id) { $query = 'UPDATE `table` SET `text` = "'. $_POST['text'][$i] .'", `text2`="'. $_POST['text2'][$i] .'" WHERE `id` = '. $id; } 甚至更好;让html发送一个多维数组,但

我必须使用foreach操作,因为我的表单项数量未知,我的表单如下所示:


如果表单的格式是这样的,则可以执行以下操作:

foreach($_POST['id'] as $i => $id) {
    $query = 'UPDATE `table` SET `text` = "'. $_POST['text'][$i] .'", `text2`="'. $_POST['text2'][$i] .'" WHERE `id` = '. $id;
}
甚至更好;让html发送一个多维数组,但您必须自己添加索引。但因为您已经有了一个id,所以可以将该id用作索引:

<form>
    <input type="text" name="item[<?php echo $id; ?>]['text']">
    <input type="text" name="item[<?php echo $id; ?>]['text2']">
</form>
但一定要为SQL注入添加预防措施

foreach($\发布为$key=>$val){
foreach( $_POST as $key => $val) {
    echo "KEY: ".$key." VAL: ".$val."<br>";
}
回音“KEY:.$KEY.”VAL:.$VAL.“
”; }
这将简单地打印出所有$\u POST键和它们的值


然后,使用循环将它们添加到您的语句中。

?你试过什么?我可能误解了这个问题,我是这样做的:WHERE
id
='.$values['id''.'正确吗?不,实际上你的id在
$id
变量中,但是你可以添加一个隐藏的输入字段(尽管它没用)<代码>
我添加了where子句,并编辑了第一个示例(其中我犯了一个错误…)
foreach( $_POST as $key => $val) {
    echo "KEY: ".$key." VAL: ".$val."<br>";
}