将2个Foreach语句合并为1个PHP

时间:2013-07-22 14:22:15

标签: php loops for-loop foreach

将两个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 Mazda - echo“break />”;

4沃尔沃

5法拉利

6 VW - echo“break />”;

7欧宝

8保时捷

<9>丰田 - 回声“打破/&gt;”;

看起来像这样:

本田 宝马 马自达

沃尔沃 法拉利 VW

欧宝 保时捷 丰田

2 个答案:

答案 0 :(得分:3)

无法进行双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 arithmetic,了解MOD的工作原理,您可以使用任意数量的产品来触发if语句。

答案 1 :(得分:0)

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

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

     //do something

     $counter += 10;

}

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