首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有多个数组的Foreach循环

具有多个数组的Foreach循环
EN

Stack Overflow用户
提问于 2010-08-03 16:33:00
回答 7查看 15.1K关注 0票数 4

,这就是我想要的:

代码语言:javascript
运行
复制
foreach($_POST['something'] as $something){
    foreach($_POST['example'] as $example){
        $query = mysql_query("INSERT INTO table (row, row2) VALUES ('{$something}','{$example}')");
    }

}

$_POST['something']$_POST['example']是输入的数组。

name="something[]"name="example[]".

问题:

这样,我将两次将数据发送到数据库。因此,我需要一个解决方案,我可以循环槽2阵列,而不是看到数据两次。

编辑

  • 这两个数组的大小总是相同的。
  • 在mysql_query中,我将有其他元素,而不仅仅是row、row2,这些元素都是静态的,没有任何数组。
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-08-03 16:44:13

你的意思是:

代码语言:javascript
运行
复制
foreach($_POST['something'] as $key => $something) { 
    $example = $_POST['example'][$key];
    $query = mysql_query("INSERT INTO table (row, row2) VALUES ('{$something}','{$example}')"); 
} 
票数 11
EN

Stack Overflow用户

发布于 2013-03-28 09:13:13

多个数组的解决方案

试着-

1)

代码语言:javascript
运行
复制
<?php
$ZZ = array('a', 'b', 'c', 'd');
$KK = array('1', '2', '3', '4');

foreach($ZZ as $index => $value) {
    echo $ZZ[$index].$KK[$index];
    echo "<br/>";
}
?>

或2)

代码语言:javascript
运行
复制
<?php
$ZZ = array('a', 'b', 'c', 'd');
$KK = array('1', '2', '3', '4');

for ($index = 0 ; $index < count($ZZ); $index ++) {
  echo $ZZ[$index] . $KK[$index];
  echo "<br/>";
}
?>
票数 2
EN

Stack Overflow用户

发布于 2010-08-03 16:36:44

您的解决方案似乎不会将数据发送两次。除非由于发出查询而出现具有相同值的记录。这可能意味着您应该在构建查询之前处理数据。

一种解决办法可以是:

代码语言:javascript
运行
复制
$sql = array();

foreach($_POST['something'] as $something){
    foreach($_POST['example'] as $example){
    $sql[] = "INSERT INTO table (row, row2) VALUES ('{$something}','{$example}')";
}
}

foreach($sql as $query){
  mysql_query($query);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3398618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档