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 關注
- 133 瀏覽
添加回答
舉報