PHP Multiple foreach


PHP Multiple foreach

我正在尝试从mysql中的数组中插入数据。我有多个数组。我一直在努力做一些类似的事情。

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循环这样做的例子,但我很难理解它是如何工作的。我们会提前感谢所有的帮助。

如果$titles的大小等于$descriptions的大小,并且您有序列数组,则可以执行:

<?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')");
}

您正在寻找一个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
}