2 回答
TA贡献1824条经验 获得超8个赞
不知道你为什么在这里使用for循环,$i < $counter这个条件不能成立,因为$i它们$counter都是从 0 开始的。所以0 < 0 == FALSE
您只需要删除for循环内的while循环。
或者,如果您for在代码中的其他地方使用循环,那么您可以将条件移到for循环之外。
第二种解决方案: 其次,如果你$counter从 1 开始,那么你可以达到你想要的结果,如给定的例子:
<?php
$array = array(1,2,3,4,5,6);
$counter = 1;
foreach ($array as $key => $value) {
$cssClass = 'col';
for($i = 0; $i < $counter; $i++) {
if($counter === 6) {
$cssClass = 'col-lg-4';
} elseif ($counter == 4) {
$cssClass = 'col-xl-6';
}
else {
$cssClass = 'col';
}
}
echo $cssClass."<br/>";
$counter++;
}
?>
结果:
col
col
col
col-xl-6
col
col-lg-4
TA贡献1875条经验 获得超3个赞
<?php
$counter = 1;
while( have_rows('rainbow') ): the_row();
// vars
$name = get_sub_field('name');
$age = get_sub_field('age');
if ( $counter == 4 ) {
$cssClass = 'col-xl-6';
} elseif ( $counter == 6 ) {
$cssClass = 'col-lg-4';
} else {
$cssClass = 'col';
}
echo '<div class="' . $cssClass . '">';
echo "<h4>" . $name . "</h4>";
echo "<p>" . $age . "</p>";
echo $counter;
echo '</div>';
$counter++;
endwhile;
试试这个
- 2 回答
- 0 关注
- 182 浏览
添加回答
举报
