【发布时间】:2014-08-28 17:12:57
【问题描述】:
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>
我的结果有 轮播- 尽管循环运行,这些点都返回了 0。意味着增量没有发生。
如果我删除 if 语句,则循环按预期工作。 if 语句只是为了验证标准是否正确。我确实可以将 ++ 放在 if 语句之外,我得到相同的结果。
请解释一下我在这里缺少什么?这似乎是一个基本问题。我真的不明白为什么 $i 在满足标准并发布正确信息时不会增加。提前感谢任何付出努力的人。
【问题讨论】:
-
很难看到混入了这么多html的代码。考虑将你的php代码和你的html代码分开。
-
如果使用
&&运算符,则可以将两个if合并为一个。if(get_field('featured_game') && valid_release(get_field('release_date'))) -
@ham-sandwich ...不,他的意思是增加 - 叹息
-
如果没有
if语句的情况下它可以按预期工作,我会冒险猜测你的if语句是有问题的 -
@user3791372 我清理了代码。仅显示直接受影响的内容。 if 语句检查是否为真。 valid_release() 和 get_field 只能返回 true 或 false。
标签: php wordpress while-loop carousel