在指定次数的循环迭代后插入块

时间:2015-10-14 15:31:06

标签: php css zend-framework

我试图在ZF1环境下从数据库中获取一些信息。我在这里使用for循环。我想要完成的是为每四次迭代插入一个新的css除法(div)。换句话说,我想插入一个块,然后进行四次循环迭代。例如,如果我运行循环十二次,则每四次迭代后应该有三个新块。它基本上是一个可能包含图像和链接的广告块。我需要一个主意。

这是一个示例块。

<div class="flexblock-image">
    <a href="https://offers.example.com/offer/600112?cid=BWO_mh.com_html_getbackinshape&amp;keycode=254194">
        <img alt="" title="" typeof="foaf:Image" src="http://www.example.com.gif">
        </a>
    </div>

这是我在我的应用中编码的循环。

<?php if ($this->numArticles > 0) : ?>
<?php for ($i = 0; $i < 13; $i++) : ?>
<div class="channel-image ">
    <div class="img">
        <h2 class="primary-tag">
            <a href="/tags/weight-loss-tips" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">
                <?php echo $this->articles[$i]->slug ; ?>
            </a>
        </h2>
        <a href="
            <?php echo $this->articles[$i]->getViewUrl(); ?>">
            <img typeof="foaf:Image" src="
                <?php echo $this->articles[$i]->getCover('crop'); ?>" width="650" height="412" alt="
                <?php echo addslashes($article->title); ?>" title="
                <?php echo addslashes($article->title); ?>">
            </a>
        </div>
        <div class="channel-content">
            <p class="date">
                <span property="dc:date dc:created" content="2015-06-04T11:06:18-04:00" datatype="xsd:dateTime">
                    <?php echo $this->dateFormatter()->diff(strtotime($this->articles[0]->activated_date), $this->timeDiffFormats); ?>
                </span>
            </p>
            <h2 class="article-title" id="title-node-93726">
                <a href="
                    <?php echo $this->articles[$i]->getViewUrl(); ?>">
                    <?php echo addslashes($this->articles[$i]->title); ?>
                </a>
            </h2>
            <div class="byline-container">
                <span class="byline-role">By  </span>
                <span class="field-author">
                    <a href="#" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">
                        <?php echo sprintf($this->translator()->_('show.by'), $this->articles[0]->getAuthor()); ?>
                    </a>
                </span>
            </div>
        </div>
    </div>
    <?php endfor; ?>
    <?php endif; ?>

1 个答案:

答案 0 :(得分:0)

不是PHP专家,但是if循环中的for语句不能使用模数运算符吗?

<?php for ($i = 0; $i < 13; $i++) : ?>

    <?php if ($i % 4 === 0) : ?>

        // Custom HTML/CSS here

    <?php endif; ?>

<?php endfor; ?>

有关模数运算符的更多信息,请参见here