2016-02-26 132 views
0

我有一个配置文件数组。我想遍历它们并打印出每个人的数据。我使用的引导,所以我想有每行3个配置文件,然后启动一个新行另外3条曲线,如下所示:将Foreach分割成不同的区域

<div class="row"> 
    <div class="col-md-3"> 
     Profile Data 
    </div> 
</div> 

如果我通过使用foreach循环,我会得到一个新行每个配置文件,当我想要3个配置文件,然后一个新的行:

foreach($profiles as $p){ 
    echo '<div class="row"> 
     <div class="col-md-3"> 
      '.$p->name.' 
     </div> 
    </div>'; 
} 

任何人都可以告诉我吗?

+0

在循环中使用计数器只能随声附和排发车当计数器为1时,div为1,当计数器为3时,结束div。将计数器重置为0. – Gavin

回答

3

只是把一些基本的逻辑,每行3个结果:

echo '<div class="row">'; 
$count = 0; 
foreach ($profiles as $p) { 
    echo '<div class="col-md-3">' . $p->name . '</div>'; 
    $count++; 
    if($count%3==0){ 
     print '</div><div class="row">'; 
     $count = 0; 
    } 
} 
echo '</div>' 
+0

完美!谢谢 – danjswade

-2

我想这是你想要做什么:

$i = 0; 
foreach($profiles as $p){ 
    $i++; 
    if(($i)% 3 == 0){ 
    echo '<div class="row">'; 
    } 
    echo '<div class="col-md-3">'.$p->name.'</div>'; 
    if(($i)% 3 == 0){ 
    echo '</div>'; 
    } 
} 
+1

auwgh,太慢了:) – bastiherrmann

+1

您按模数划分的逻辑错误,必须是'$ i%3 == 0'否则会产生不正确的结构。没有必要检查两次。看到这里:http://php.net/manual/en/language.operators.arithmetic.php – mitkosoft

+0

你是对的,它必须是0.我会纠正... – bastiherrmann