0

是否可以将 2 个 foreach 语句合并为一个?:

foreach ($this->products as $product) {
  // Content Here
}

foreach (range(0, 100, 10) as $number) {
  // Content Here
}

喜欢:

 foreach (($this->products as $product) && (range(0, 100, 3) as $number)) {
      // Content Here
    }

结果:

1 本田

2 宝马

3 马自达 - 回声“break />”;

4 沃尔沃

5 法拉利

6 大众 - 回声“break />”;

7 欧宝

8 保时捷

9 丰田 - 回声“break />”;

看起来像这样:

本田 宝马 马自达

沃尔沃 法拉利 大众

欧宝 保时捷 丰田

4

2 回答 2

3

不可能做一个 double foreach。但是,根据您的问题和评论,您应该执行以下操作:

$counter = 1;
foreach($this->products as $product){
    //do stuff here
    if($counter % 10 == 0){ // % is Mod (10 mod 9 = 1, 10 mod 10 = 0)
        //item 10, 20, 30...
    }
    $counter += 1;
}

使用此模板和PHP 算法,了解 MOD 的工作原理,您可以使用任意数量的产品来触发 if 语句。

于 2013-07-22T14:29:09.253 回答
0

如果您尝试将 10 添加到某个变量,您可以尝试以下操作:

foreach($this->products AS $product) {

     //do something

     $counter += 10;

}

$counter在循环开始之前设置为 0。

于 2013-07-22T14:26:56.350 回答