如何将数组和插入组合到数据库php中

时间:2012-03-07 14:20:47

标签: php

如果只有一个数组,例如

$values = array(x, y, z);

我将它们添加到数据库中,就像这样

    foreach ($values as $value)
    {
        $insertFunction = addValues($value);
    }

我的阵列:

$array1 = Array ( 1, 2, 1, 2, 1, 2, 1, 2, 1, 2 );

$array2 = Array ( fb1, or1, fb2, or2, fb3, or3, fb4, or4, fb5, or5 );

但我希望两个数组合并并将它们插入数据库。 我该怎么做才能帮助我

更新:

当我打印POST值时,我就像这样出来了

Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 2 [4] => 1 [5] => 2 [6] => 1 [7] => 2 [8] => 1 [9] => 2 )

Array ( [0] => fb1 [1] => or1 [2] => fb2 [3] => or2 [4] => fb3 [5] => or3 [6] => fb4 [7] => or4 [8] => fb5 [9] => or5 )

当我尝试使用array_merge时,我的输出就像这样

Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 2 [4] => 1 [5] => 2 [6] => 1 [7] => 2 [8] => 1 [9] => 2 [10] => fb1 [11] => or1 [12] => fb2 [13] => or2 [14] => fb3 [15] => or3 [16] => fb4 [17] => or4 [18] => fb5 [19] => or5 ) 

如何将它们插入表$ array1和$ array2

中的单独列中

我的数据库表是这样的

1.id 2.username 3.network_id

id是主键 network_id值来自array1 用户名值来自array2

4 个答案:

答案 0 :(得分:3)

修改

在您提到分离的列后,我想我明白您在寻找什么: 我假设array1和array2的大小相同。

for($i = 0; $i < count($array1); $i++)
{

  $array2[$i] = (int)$array2[$i]; //"validating" the username (an integer)
  mysql_query("INSERT INTO yourTableName (`username`,`network_id`) VALUES('".$array2[$i]."','".$array1[$i]."')");
}

结果:

  

tblName:

     

用户名:1​​ 2 1 ...

     

network_id:fb1或1 fb2 ...

那是你在找什么?

忽略这个并合并:

    $combined = array_merge($array1 , $array2);

   //$combined = Array ( 1, 2, 1, 2, 1, 2, 1, 2, 1, 2,fb1, or1, fb2, or2, fb3, or3, fb4, or4, fb5, or5 );

答案 1 :(得分:0)

我认为你需要array_merge

答案 2 :(得分:0)

您可以使用array_merge()函数将多个数组合并为一个。

$arrays = array_merge($array1 , $array2);
foreach ($arrays as $value)
{
    $insertFunction = addValues($value);
}

答案 3 :(得分:0)

如果要将数组a中的元素与数组b中的元素相关联,则必须使用array_combine()函数。

$arrays = array_combine($array1,$array2);
foreach ($array as $aValue)
{
    $insertFunction = addValues($aValue);
}