首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用PHP foreach将类添加到div

使用PHP foreach将类添加到div
EN

Stack Overflow用户
提问于 2018-08-20 06:30:53
回答 3查看 298关注 0票数 0

考虑一下这个类的数组:

代码语言:javascript
复制
$array =['blue', 'gren', 'red', 'orange', 'yellow', 'pink'];

我需要每个div都有一个类:

代码语言:javascript
复制
foreach ($array as $div) {
    echo '<div class="">'.$div.'</div>';
}

我需要的示例:

代码语言:javascript
复制
<div class="first">blue</div>
<div class="second">gren</div>
<div class="last">red</div>

<div class="first">orange</div>
<div class="second">yellow</div>
<div class="last">pink</div>

假设我在一个数组中有100条记录。

代码语言:javascript
复制
first
second
last

first
second
last

first
second
last

first
second
last

Etc.
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-20 06:46:19

代码语言:javascript
复制
foreach ($array as $n => $div) {
    if ($n % 3 == 0) $pos = 'first';
    elseif ($n % 3 == 1) $pos = 'second';
    else $pos = 'last';

    echo '<div class="' . $pos . '">'.$div.'</div>';
}
票数 0
EN

Stack Overflow用户

发布于 2018-08-20 06:45:17

如果我正确理解了您的要求,这应该可以通过以下代码来实现。考虑跟踪迭代的当前索引($i),以确定要应用于div的类。请注意,我在switch块中使用了模运算符%来决定每次迭代使用哪个类:

代码语言:javascript
复制
$i = 0;

foreach ($array as $div) {

    $i++;

    $class = "";
    switch ($i % 3) {
        case 0:
            $class = "first";
            break;
        case 1:
            $class = "second";
            break;
        case 2:
            $class = "third";
            break;
    }

    echo '<div class="'.$class.'">'.$div.'</div>';
}
票数 0
EN

Stack Overflow用户

发布于 2018-08-20 06:46:27

您可以简单地使用数组索引来检查它是firstsecond还是last div,使用%运算符。例如:

代码语言:javascript
复制
foreach ($array as $i => $div) {
    if ($i % 3 == 0) {
        $class = 'first';
    } elseif ($i % 3 == 1) {
        $class = 'second';
    } else {
        $class = 'last';
    }
    echo "<div class='$class'>$div</div>";
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51922337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档