2012-07-31 71 views
0

我想从数组中插入数据在MySQL中。我有多个数组。我一直在努力按照这一点做些事情。PHP多个foreach

foreach ($titles as $title && $descriptions as $description) { 
    mysql_query("INSERT INTO `stock` VALUES('', '$title', '$description')"); 
} 

我想mysql表看起来像这样。

item_id title description 
_______________________________ 

1   title1 description1 
2   title2 description2 
... 

现在我已经知道这是行不通的,这是否有其他选择。我已经看到while循环的例子来做到这一点,但我正在努力了解如何工作。 提前感谢所有帮助。

回答

3

如果$descriptions$titles大小相等,并且你有序贯数组的大小,你可以这样做:

<?php 
$titles = array(
    'foo', 
    'bar' 
); 
$descriptions = array(
    'foo description', 
    'bar description' 
); 

for($i = 0; $i < count($titles); $i++) { 
    $title = $titles[$i]; 
    $description = $descriptions[$i]; 

    mysql_query("INSERT INTO `stock` VALUES('', '$title', '$description')"); 
} 
+0

谢谢你完美的作品。 – Ace 2012-07-31 01:50:21

+0

不客气! – 2012-07-31 02:12:57

3

你正在寻找一个MultipleIterator,这将遍历两个数组轻松过:

$iter = new MultipleIterator; 
$iter->attachIterator(new ArrayIterator($titles)); 
$iter->attachIterator(new ArrayIterator($descriptions)); 

foreach($iter as $data) { 
    list($title, $description) = $data; 
    // Do your SQL insert with $title and $description 
}