2012-07-31 115 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 
}