我如何打破foreach声明,回应其他内容然后继续

时间:2012-09-02 10:33:21

标签: php arrays foreach break continue

我从MSQL数据库获得两个不同的数组数组,第一个数组来自我的博客帖子表,包含15行/项,第二个数组来自广告表,包含3行/项。我想从博客帖子表(第一个数组)预测前5个数据集,然后从广告表(第二个数组)预测第1个(一个)数据,然后继续从第一个数组中停止的另一个5项和一个来自第一个数组,就像那样。 请帮我提出PHP代码,了解如何做到这一点。 谢谢。

2 个答案:

答案 0 :(得分:0)

使用modulo。

您将使用mssql_num_rows计算,然后迭代一个计数器,说$i

然后在foreach($ rows)..:

$i = 0; $count = mssql_num_rows($result);
foreach($rows as $blog) {
    if($i > 0 && $i++ % 5 == 0) {
        $advert = array_shift($adverts_array);
        // process $advert
    }
    // process $blog here
}

答案 1 :(得分:0)

代码假定数组从0开始编制索引。

$i = 0;
foreach ($posts as $post) {
  // Output and/or otherwise process $post
  if (++$i % 5 == 0) {
    $advertisements[$i / 5 - 1] // Output and/or process advertisement
  }
}