PHP中嵌套的foreach()

时间:2013-04-11 19:24:32

标签: php loops foreach

我需要一些嵌套foreach的帮助。

这是我的代码:

$program = $_POST['program'];
$licence = $_POST['licence'];
    foreach($program as $p){
        foreach($licence as $l){
mysql_query("INSERT INTO programs (pcname, program, licence) VALUES ('". $pcname ."', '". $p ."', '". $l ."')");

  }
}

这不起作用,我知道原因。但我无法找到解决问题的方法。问题是,它正在遍历内部foreach内的所有值,然后是遍历所有值,重新遍历外部foreach中的下一个值。

这可能没有得到很好的解释,但希望你能理解我在努力实现的目标,并帮助我。

2 个答案:

答案 0 :(得分:2)

假设你的两个数组在它们的元素之间有1:1的映射,比如说。每个5,然后您的嵌套循环将产生25个插入调用。您需要使用一个数组中的键来引用另一个:

foreach($program as $key => $p) {
    $l = $license[$key];
    mysql_query(...);
}

并注意您sql injection attacks已开放。

答案 1 :(得分:0)

如果我错了,请纠正我,但我相信只需将查询语句移到第一个for循环之后就可以解决问题......