提问者:小点点

Foreach在x次之后做什么?[副本]


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

现在是这样的:

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

谢谢


共3个答案

匿名用户

使用计数器:

$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,则值uf$i可被4整除。

匿名用户

老实说,我不太明白这个问题。然而,你可以把任何逻辑放在你想要的东西上。例如:

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

匿名用户

$i = 0;

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

}