0

这是我的 foreach 列表:

    foreach ($items as $key => $item):
        if (++$i == 21) break;
        $output.='<div class="row-fluid"><div class="span12 block">
                                <div class="pull-left">
                        <a href="'.$item->link.'" target="_blank">'.$item->title.'</a>
                </div>
                <div class="pull-right">
                        <p class="muted">'.date("m/d/Y", $item->date).'</p>
                </div>
                <div class="clearfix"></div>
            </div></div>';
endforeach;

echo $output;

结果是从 xml 提要中挑选的 21 个项目的有序列表。我想要做的是在(例如)第 10 行和第 11 行之间添加一个自定义行。

任何人都可以建议我一个好方法吗?

4

2 回答 2

0

您可以使用标志变量。

循环前设置变量 $rowcount=1 的初始值

在循环之间,您可以将此变量从 +1 递增。

并检查

 <code>
 if($rowcount=10) 
 {
 //do something
 }
 </code>

使用此解决方案

于 2013-10-04T07:09:54.157 回答
0

您可以通过添加一个简单的 if 语句来做到这一点。如果您希望每 10 行有一个,您可以使用 mod 运算符 %。

foreach ($items as $key => $item):
        if (++$i == 21) break;
            if ($i == 9) {
               $output .= '<div>NEW LINE </div>';
            }
        $output.='<div class="row-fluid"><div class="span12 block">
                                <div class="pull-left">
                        <a href="'.$item->link.'" target="_blank">'.$item->title.'</a>
                </div>
                <div class="pull-right">
                        <p class="muted">'.date("m/d/Y", $item->date).'</p>
                </div>
                <div class="clearfix"></div>
            </div></div>';
endforeach;

echo $output;
于 2013-10-04T07:40:31.380 回答