statment我目前正在开展一个项目。我在嵌套在if语句中时在循环中创建变量++时遇到问题。我真的不明白为什么它在做它正在做的事情。这是我的代码。
<?php $i=0;
while ($loop->have_posts() ) : $loop->the_post(); ?>
<?php if(get_field('featured_game') && valid_release(get_field('release_date'))):?>
<div class="item <?php if($i == 0){echo 'active';}?> row carousel-<?=$i;?>">
// do generated html
<style>
.carousel-<?=$i;?>{
// do generated css
}
</style>
</div>
<?php $i++;?>
<?php endif?>
<?php endwhile;?>
</div>
我的结果有 carousel- 尽管循环运行,这些点都返回0。意思是没有发生任何事情。
如果我删除if语句循环工作,如预期的那样。 if语句只是为了验证标准是否为真。我可以将++放在if语句之外,我得到相同的结果。
有人可以解释一下我在这里缺少什么吗?这似乎是一个基本问题。我真的不明白为什么$ i在满足标准时不会增加并发布正确的信息。提前感谢任何付出努力的人。
答案 0 :(得分:2)
我运行了这段代码:
<?php $i = 0;
while ($i < 10) : ?>
<?php if (true): ?>
<?php if ($i == 0) {
echo 'active';
} ?>
<?= $i; ?>
<?php $i++; ?>
<?php endif ?>
<?php endwhile; ?>
结果是:
active 0 1 2 3 4 5 6 7 8 9
所以
get_field('featured_game')
或
valid_release(get_field('release_date'))
必须是假的。
尝试
var_dump(get_field('featured_game'));
var_dump(valid_release(get_field('release_date')));
在循环中。
答案 1 :(得分:0)
原来,它一直在正常增加。
我的问题原来是bootstraps轮播循环父div中的内容而不是它看起来的实际div。如果我禁用它,或者直接查看源代码,那么一切都应该是它。