Foreach在x次之后做了什么?

时间:2013-11-07 15:04:19

标签: php loops foreach count

我试图创建一个带链接的自动块[它们来自一个数组], 在我有太多链接之前一切顺利,现在他们都在同一条线上, 如何在4次后制作foreach print br?

现在它是这样的:

foreach($this->rpanelinks as $name => $url) {
    echo '<a href="' . BASE_URL . $url . '">' . $name . '</a>';
}

谢谢!

4 个答案:

答案 0 :(得分:0)

使用计数器:

$i = 1;

foreach($this->rpanelinks as $name => $url) {
    if($i == 4) 
        echo '<br>';

    echo '<a href="' . BASE_URL . $url . '">' . $name . '</a>';

    ++$i;
}

或者如果你每次 4次

$i = 1;

foreach($this->rpanelinks as $name => $url) {
    if($i % 4 == 0) 
         echo '<br>';

    echo '<a href="' . BASE_URL . $url . '">' . $name . '</a>';

    ++$i;
}

$i % 4计算操作的其余部分$i / 4,如果是0,则$i可以分割值4

答案 1 :(得分:0)

说实话,我不明白这个问题。但是,您可以将任何逻辑放在您想要的foreach上。例如:

$counter = 0;
foreach($this->rpanelinks as $name => $url) {
    $counter ++;
    echo '<a href="' . BASE_URL . $url . '">' . $name . '</a>';
    if ($counter %4 == 0) echo '<br />';
}

答案 2 :(得分:0)

$i = 0;

foreach($this->rpanelinks as $name => $url) {
    ++$i;
    if($i >= 4){
        echo '<br/>';
        $i=0;
    }
    echo '<a href="' . BASE_URL . $url . '">' . $name . '</a>';

}

答案 3 :(得分:0)

使用变量计算您的链接,在每个4个链接之后打印breakline代码

$counter = 0;
foreach($this->rpanelinks as $name => $url) {
    echo '<a href="' . BASE_URL . $url . '">' . $name . '</a>';
    if(++$counter % 4 == 0) {
        echo '<br />';
    }
}