PHP:使用do / while循环设置第一个元素激活

时间:2018-02-05 14:33:26

标签: php for-loop

这是我的代码段:

for($x=0;$x<=$flaga1;$x++){ 
$index++;
echo "<div class=\"item\" data-slide-number=".$index.">".$sth."</div>"; 
}

它根据$sth迭代代码。但是我想在代码的第一次出现时添加active类,所以它将是:

<div class="active item" data-slide-number="0">"sth"</div>
<div class="item" data-slide-number="1">"sth"</div>
<div class="item" data-slide-number="2">"sth"</div>

我正在尝试做这样的事情,但它不起作用:

for($x=0;$x<=$flaga1;$x++){ 

$active=0;
$divclass="<div class=\"item\"";

do {
    $divclass="<div class=\"active item\"";
    $active++;
} while ($active<=0);


$index++;
echo "".$divclass." data-slide-number=".$index.">".$sth."</div>"; 

}

2 个答案:

答案 0 :(得分:6)

根据您提交的代码。你可以试试这个。

for($x=0;$x<=$flaga1;$x++){ 
    $active = "";
    if($x === 0 ) {
        $active = "active";
    }
    $index++;
    echo "<div class=\"item\ <?php echo $active; ?>" data-slide-number=".$index.">".$sth."</div>"; 
}

或者你可以按照Niet the Dark Absol的建议来做到这一点。

for($x=0;$x<=$flaga1;$x++){ 
   $index++;
   echo "<div class=\"item\ <?php if($x === 0) {echo "active"; } ?>" data-slide-number=".$index.">".$sth."</div>"; 
}

答案 1 :(得分:0)

如果您愿意,也可以在for循环定义中进行设置:

for ($x = 0, $a = 'active'; $x < $flaga1; $x++, $a = '') {
    echo "<div class=\"item $a\" data-slide-number=". ++$index .">" . $sth . "</div>\n";
}