【问题标题】:PHP Multiple foreachPHP 多个 foreach
【发布时间】:2012-07-28 17:41:21
【问题描述】:

我正在尝试从 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 循环的示例,但我很难理解它是如何工作的。 提前感谢所有帮助。

【问题讨论】:

    标签: php mysql arrays foreach while-loop


    【解决方案1】:

    如果$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')");
    }
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2012-04-05
        • 1970-01-01
        • 1970-01-01
        • 2011-01-05
        • 2012-02-23
        • 2012-05-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多